aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/lib
diff options
context:
space:
mode:
authorMasami Hiramatsu <mhiramat@redhat.com>2009-10-16 20:07:44 -0400
committerIngo Molnar <mingo@elte.hu>2009-10-17 03:53:59 -0400
commitd1baf5a5a6088e2991b7dbbd370ff200bd6615ce (patch)
tree73d733aa6ae1f511049f11d5c19a3354fdf641dd /arch/x86/lib
parent8c95bc3e206cff7a55edd2fc5f0e2b305d57903f (diff)
x86: Add AMD prefetch and 3DNow! opcodes to opcode map
Add AMD prefetch and 3DNow! opcode including FEMMS. Since 3DNow! uses the last immediate byte as an opcode extension byte, x86 insn just treats the extenstion byte as an immediate byte instead of a part of opcode (insn_get_opcode() decodes first "0x0f 0x0f" bytes.) Users who are interested in analyzing 3DNow! opcode still can decode it by analyzing the immediate byte. Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> LKML-Reference: <20091017000744.16556.27881.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/lib')
-rw-r--r--arch/x86/lib/x86-opcode-map.txt13
1 files changed, 10 insertions, 3 deletions
diff --git a/arch/x86/lib/x86-opcode-map.txt b/arch/x86/lib/x86-opcode-map.txt
index e7285d8379e3..894497f77808 100644
--- a/arch/x86/lib/x86-opcode-map.txt
+++ b/arch/x86/lib/x86-opcode-map.txt
@@ -306,9 +306,10 @@ Referrer: 2-byte escape
3060a: 3060a:
3070b: UD2 (1B) 3070b: UD2 (1B)
3080c: 3080c:
3090d: NOP Ev 3090d: NOP Ev | GrpP
3100e: 3100e: FEMMS
3110f: 311# 3DNow! uses the last imm byte as opcode extension.
3120f: 3DNow! Pq,Qq,Ib
312# 0x0f 0x10-0x1f 313# 0x0f 0x10-0x1f
31310: movups Vps,Wps | movss Vss,Wss (F3) | movupd Vpd,Wpd (66) | movsd Vsd,Wsd (F2) 31410: movups Vps,Wps | movss Vss,Wss (F3) | movupd Vpd,Wpd (66) | movsd Vsd,Wsd (F2)
31411: movups Wps,Vps | movss Wss,Vss (F3) | movupd Wpd,Vpd (66) | movsd Wsd,Vsd (F2) 31511: movups Wps,Vps | movss Wss,Vss (F3) | movupd Wpd,Vpd (66) | movsd Wsd,Vsd (F2)
@@ -813,6 +814,12 @@ GrpTable: Grp16
8133: prefetch T2 8143: prefetch T2
814EndTable 815EndTable
815 816
817# AMD's Prefetch Group
818GrpTable: GrpP
8190: PREFETCH
8201: PREFETCHW
821EndTable
822
816GrpTable: GrpPDLK 823GrpTable: GrpPDLK
8170: MONTMUL 8240: MONTMUL
8181: XSHA1 8251: XSHA1