[lkml]   [2009]   [Oct]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[tip:perf/probes] x86: Add Intel FMA instructions to x86 opcode map
    Commit-ID:  3f7e454af1dd8b9cea410d9380d3f71477e94f2b
    Author: Masami Hiramatsu <>
    AuthorDate: Tue, 27 Oct 2009 16:42:35 -0400
    Committer: Ingo Molnar <>
    CommitDate: Thu, 29 Oct 2009 08:47:47 +0100

    x86: Add Intel FMA instructions to x86 opcode map

    Add Intel FMA(FUSED-MULTIPLY-ADD) instructions to x86 opcode map
    for x86 instruction decoder.

    Signed-off-by: Masami Hiramatsu <>
    Cc: Steven Rostedt <>
    Cc: Jim Keniston <>
    Cc: Ananth N Mavinakayanahalli <>
    Cc: Christoph Hellwig <>
    Cc: Frank Ch. Eigler <>
    Cc: Frederic Weisbecker <>
    Cc: Jason Baron <>
    Cc: K.Prasad <>
    Cc: Peter Zijlstra <>
    Cc: Srikar Dronamraju <>
    LKML-Reference: <20091027204235.30545.33997.stgit@harusame>
    Signed-off-by: Ingo Molnar <>
    arch/x86/lib/x86-opcode-map.txt | 34 +++++++++++++++++++++++++++++++++-
    1 files changed, 33 insertions(+), 1 deletions(-)

    diff --git a/arch/x86/lib/x86-opcode-map.txt b/arch/x86/lib/x86-opcode-map.txt
    index 9887bfe..a793da5 100644
    --- a/arch/x86/lib/x86-opcode-map.txt
    +++ b/arch/x86/lib/x86-opcode-map.txt
    @@ -647,11 +647,43 @@ AVXcode: 2
    3d: pmaxsd Vdq,Wdq (66),(VEX),(o128)
    3e: pmaxuw Vdq,Wdq (66),(VEX),(o128)
    3f: pmaxud Vdq,Wdq (66),(VEX),(o128)
    -# 0x0f 0x38 0x4f-0xff
    +# 0x0f 0x38 0x40-0x8f
    40: pmulld Vdq,Wdq (66),(VEX),(o128)
    41: phminposuw Vdq,Wdq (66),(VEX),(o128)
    80: INVEPT Gd/q,Mdq (66)
    81: INVPID Gd/q,Mdq (66)
    +# 0x0f 0x38 0x90-0xbf (FMA)
    +96: vfmaddsub132pd/ps /r (66),(VEX)
    +97: vfmsubadd132pd/ps /r (66),(VEX)
    +98: vfmadd132pd/ps /r (66),(VEX)
    +99: vfmadd132sd/ss /r (66),(VEX),(o128)
    +9a: vfmsub132pd/ps /r (66),(VEX)
    +9b: vfmsub132sd/ss /r (66),(VEX),(o128)
    +9c: vfnmadd132pd/ps /r (66),(VEX)
    +9d: vfnmadd132sd/ss /r (66),(VEX),(o128)
    +9e: vfnmsub132pd/ps /r (66),(VEX)
    +9f: vfnmsub132sd/ss /r (66),(VEX),(o128)
    +a6: vfmaddsub213pd/ps /r (66),(VEX)
    +a7: vfmsubadd213pd/ps /r (66),(VEX)
    +a8: vfmadd213pd/ps /r (66),(VEX)
    +a9: vfmadd213sd/ss /r (66),(VEX),(o128)
    +aa: vfmsub213pd/ps /r (66),(VEX)
    +ab: vfmsub213sd/ss /r (66),(VEX),(o128)
    +ac: vfnmadd213pd/ps /r (66),(VEX)
    +ad: vfnmadd213sd/ss /r (66),(VEX),(o128)
    +ae: vfnmsub213pd/ps /r (66),(VEX)
    +af: vfnmsub213sd/ss /r (66),(VEX),(o128)
    +b6: vfmaddsub231pd/ps /r (66),(VEX)
    +b7: vfmsubadd231pd/ps /r (66),(VEX)
    +b8: vfmadd231pd/ps /r (66),(VEX)
    +b9: vfmadd231sd/ss /r (66),(VEX),(o128)
    +ba: vfmsub231pd/ps /r (66),(VEX)
    +bb: vfmsub231sd/ss /r (66),(VEX),(o128)
    +bc: vfnmadd231pd/ps /r (66),(VEX)
    +bd: vfnmadd231sd/ss /r (66),(VEX),(o128)
    +be: vfnmsub231pd/ps /r (66),(VEX)
    +bf: vfnmsub231sd/ss /r (66),(VEX),(o128)
    +# 0x0f 0x38 0xc0-0xff
    db: aesimc Vdq,Wdq (66),(VEX),(o128)
    dc: aesenc Vdq,Wdq (66),(VEX),(o128)
    dd: aesenclast Vdq,Wdq (66),(VEX),(o128)

     \ /
      Last update: 2009-10-29 09:11    [W:0.028 / U:1.912 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site