diff options
author | Masami Hiramatsu <mhiramat@redhat.com> | 2009-10-27 16:42:35 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-10-29 03:47:47 -0400 |
commit | 3f7e454af1dd8b9cea410d9380d3f71477e94f2b (patch) | |
tree | 3b119f46e0a919900e600f7dee5ff51b649040c0 /arch | |
parent | e0e492e99b372c6990a5daca9e4683c341f1330e (diff) |
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>
Diffstat (limited to 'arch')
-rw-r--r-- | 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 9887bfeeb2db..a793da5e560e 100644 --- a/arch/x86/lib/x86-opcode-map.txt +++ b/arch/x86/lib/x86-opcode-map.txt | |||
@@ -647,11 +647,43 @@ AVXcode: 2 | |||
647 | 3d: pmaxsd Vdq,Wdq (66),(VEX),(o128) | 647 | 3d: pmaxsd Vdq,Wdq (66),(VEX),(o128) |
648 | 3e: pmaxuw Vdq,Wdq (66),(VEX),(o128) | 648 | 3e: pmaxuw Vdq,Wdq (66),(VEX),(o128) |
649 | 3f: pmaxud Vdq,Wdq (66),(VEX),(o128) | 649 | 3f: pmaxud Vdq,Wdq (66),(VEX),(o128) |
650 | # 0x0f 0x38 0x4f-0xff | 650 | # 0x0f 0x38 0x40-0x8f |
651 | 40: pmulld Vdq,Wdq (66),(VEX),(o128) | 651 | 40: pmulld Vdq,Wdq (66),(VEX),(o128) |
652 | 41: phminposuw Vdq,Wdq (66),(VEX),(o128) | 652 | 41: phminposuw Vdq,Wdq (66),(VEX),(o128) |
653 | 80: INVEPT Gd/q,Mdq (66) | 653 | 80: INVEPT Gd/q,Mdq (66) |
654 | 81: INVPID Gd/q,Mdq (66) | 654 | 81: INVPID Gd/q,Mdq (66) |
655 | # 0x0f 0x38 0x90-0xbf (FMA) | ||
656 | 96: vfmaddsub132pd/ps /r (66),(VEX) | ||
657 | 97: vfmsubadd132pd/ps /r (66),(VEX) | ||
658 | 98: vfmadd132pd/ps /r (66),(VEX) | ||
659 | 99: vfmadd132sd/ss /r (66),(VEX),(o128) | ||
660 | 9a: vfmsub132pd/ps /r (66),(VEX) | ||
661 | 9b: vfmsub132sd/ss /r (66),(VEX),(o128) | ||
662 | 9c: vfnmadd132pd/ps /r (66),(VEX) | ||
663 | 9d: vfnmadd132sd/ss /r (66),(VEX),(o128) | ||
664 | 9e: vfnmsub132pd/ps /r (66),(VEX) | ||
665 | 9f: vfnmsub132sd/ss /r (66),(VEX),(o128) | ||
666 | a6: vfmaddsub213pd/ps /r (66),(VEX) | ||
667 | a7: vfmsubadd213pd/ps /r (66),(VEX) | ||
668 | a8: vfmadd213pd/ps /r (66),(VEX) | ||
669 | a9: vfmadd213sd/ss /r (66),(VEX),(o128) | ||
670 | aa: vfmsub213pd/ps /r (66),(VEX) | ||
671 | ab: vfmsub213sd/ss /r (66),(VEX),(o128) | ||
672 | ac: vfnmadd213pd/ps /r (66),(VEX) | ||
673 | ad: vfnmadd213sd/ss /r (66),(VEX),(o128) | ||
674 | ae: vfnmsub213pd/ps /r (66),(VEX) | ||
675 | af: vfnmsub213sd/ss /r (66),(VEX),(o128) | ||
676 | b6: vfmaddsub231pd/ps /r (66),(VEX) | ||
677 | b7: vfmsubadd231pd/ps /r (66),(VEX) | ||
678 | b8: vfmadd231pd/ps /r (66),(VEX) | ||
679 | b9: vfmadd231sd/ss /r (66),(VEX),(o128) | ||
680 | ba: vfmsub231pd/ps /r (66),(VEX) | ||
681 | bb: vfmsub231sd/ss /r (66),(VEX),(o128) | ||
682 | bc: vfnmadd231pd/ps /r (66),(VEX) | ||
683 | bd: vfnmadd231sd/ss /r (66),(VEX),(o128) | ||
684 | be: vfnmsub231pd/ps /r (66),(VEX) | ||
685 | bf: vfnmsub231sd/ss /r (66),(VEX),(o128) | ||
686 | # 0x0f 0x38 0xc0-0xff | ||
655 | db: aesimc Vdq,Wdq (66),(VEX),(o128) | 687 | db: aesimc Vdq,Wdq (66),(VEX),(o128) |
656 | dc: aesenc Vdq,Wdq (66),(VEX),(o128) | 688 | dc: aesenc Vdq,Wdq (66),(VEX),(o128) |
657 | dd: aesenclast Vdq,Wdq (66),(VEX),(o128) | 689 | dd: aesenclast Vdq,Wdq (66),(VEX),(o128) |