Added 0x0D to 2-byte opcode extension table for prefetch* variants
authorKay Tiong Khoo <kkhoo@perfwizard.com>
Tue, 12 Feb 2013 00:19:12 +0000 (00:19 +0000)
committerKay Tiong Khoo <kkhoo@perfwizard.com>
Tue, 12 Feb 2013 00:19:12 +0000 (00:19 +0000)
Fixed decode of existing 3dNow prefetchw instruction
Intel is scheduled to add a compatible prefetchw (same encoding) to future CPUs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174920 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86Instr3DNow.td
utils/TableGen/X86RecognizableInstr.cpp

index 54b91c3edb8b200a758259778251757f033c689e..bb362f5c7bb1ca0127a2f5c44391eea8022d6f59 100644 (file)
@@ -87,12 +87,10 @@ defm PMULHRW  : I3DNow_binop_rm_int<0xB7, "pmulhrw">;
 def FEMMS : I3DNow<0x0E, RawFrm, (outs), (ins), "femms", [(int_x86_mmx_femms)]>;
 
 def PREFETCH  : I3DNow<0x0D, MRM0m, (outs), (ins i32mem:$addr),
-                       "prefetch $addr", []>;
+                       "prefetch\t$addr", []>;
 
-// FIXME: Diassembler gets a bogus decode conflict.
-let isAsmParserOnly = 1 in
 def PREFETCHW : I3DNow<0x0D, MRM1m, (outs), (ins i16mem:$addr),
-                       "prefetchw $addr", []>;
+                       "prefetchw\t$addr", []>;
 
 // "3DNowA" instructions
 defm PF2IW    : I3DNow_conv_rm_int<0x1C, "pf2iw", "a">;
index b99a6eb87ee38df4d56e298297c838f6737d8793..b00f7ea2bad43b2885dc0491121a135d53710f91 100644 (file)
@@ -119,6 +119,7 @@ namespace X86Local {
 #define TWO_BYTE_EXTENSION_TABLES \
   EXTENSION_TABLE(00)             \
   EXTENSION_TABLE(01)             \
+  EXTENSION_TABLE(0d)             \
   EXTENSION_TABLE(18)             \
   EXTENSION_TABLE(71)             \
   EXTENSION_TABLE(72)             \