Add 3DNowA instructions.
authorEli Friedman <eli.friedman@gmail.com>
Sun, 3 Oct 2010 20:23:13 +0000 (20:23 +0000)
committerEli Friedman <eli.friedman@gmail.com>
Sun, 3 Oct 2010 20:23:13 +0000 (20:23 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115477 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86Instr3DNow.td
test/MC/X86/3DNow.s

index c8b798788990618369b6fbde8288632f154b7674..45d1c6bc9d2918fd35b53f7bdd7c696055cb7e8b 100644 (file)
@@ -69,5 +69,9 @@ def PREFETCHW : I3DNow<0x0D, MRM1m, (outs), (ins i16mem:$addr),
                        "prefetchw $addr", []>;
 }
 
-
-// TODO: Add support for the "3DNowA" instructions.
+// "3DNowA" instructions
+defm PF2IW    : I3DNow_binop_rm<0x1C, "pf2iw">;
+defm PI2FW    : I3DNow_binop_rm<0x0C, "pi2fw">;
+defm PFNACC   : I3DNow_binop_rm<0x8A, "pfnacc">;
+defm PFPNACC  : I3DNow_binop_rm<0x8E, "pfpnacc">;
+defm PSWAPD   : I3DNow_binop_rm<0xBB, "pswapd">;
index b66385dabf85deed05d33fe36bd872eb4e40339c..4dc68aecf4fa4a059e1184c657eeb021518fe508 100644 (file)
@@ -74,3 +74,19 @@ femms
 // CHECK: prefetchw (%rax)  # encoding: [0x0f,0x0d,0x08]
 prefetch (%rax)
 prefetchw (%rax)
+
+
+// CHECK: pf2iw %mm2, %mm1  # encoding: [0x0f,0x0f,0xca,0x1c]
+pf2iw %mm2, %mm1
+
+// CHECK: pi2fw %mm2, %mm1  # encoding: [0x0f,0x0f,0xca,0x0c]
+pi2fw %mm2, %mm1
+
+// CHECK: pfnacc %mm2, %mm1  # encoding: [0x0f,0x0f,0xca,0x8a]
+pfnacc %mm2, %mm1
+
+// CHECK: pfpnacc %mm2, %mm1  # encoding: [0x0f,0x0f,0xca,0x8e]
+pfpnacc %mm2, %mm1
+
+// CHECK: pswapd %mm2, %mm1  # encoding: [0x0f,0x0f,0xca,0xbb]
+pswapd %mm2, %mm1