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 <mhiramat@redhat.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Jim Keniston <jkenisto@us.ibm.com> Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com> Cc: Christoph Hellwig <hch@infradead.org> Cc: Frank Ch. Eigler <fche@redhat.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Jason Baron <jbaron@redhat.com> Cc: K.Prasad <prasad@linux.vnet.ibm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com> LKML-Reference: <20091027204235.30545.33997.stgit@harusame> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
committed by
Ingo Molnar
parent
e0e492e99b
commit
3f7e454af1
@@ -647,11 +647,43 @@ AVXcode: 2
|
|||||||
3d: pmaxsd Vdq,Wdq (66),(VEX),(o128)
|
3d: pmaxsd Vdq,Wdq (66),(VEX),(o128)
|
||||||
3e: pmaxuw Vdq,Wdq (66),(VEX),(o128)
|
3e: pmaxuw Vdq,Wdq (66),(VEX),(o128)
|
||||||
3f: pmaxud 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)
|
40: pmulld Vdq,Wdq (66),(VEX),(o128)
|
||||||
41: phminposuw Vdq,Wdq (66),(VEX),(o128)
|
41: phminposuw Vdq,Wdq (66),(VEX),(o128)
|
||||||
80: INVEPT Gd/q,Mdq (66)
|
80: INVEPT Gd/q,Mdq (66)
|
||||||
81: INVPID 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)
|
db: aesimc Vdq,Wdq (66),(VEX),(o128)
|
||||||
dc: aesenc Vdq,Wdq (66),(VEX),(o128)
|
dc: aesenc Vdq,Wdq (66),(VEX),(o128)
|
||||||
dd: aesenclast Vdq,Wdq (66),(VEX),(o128)
|
dd: aesenclast Vdq,Wdq (66),(VEX),(o128)
|
||||||
|
Reference in New Issue
Block a user