[llvm-commits] CVS: llvm/lib/Target/X86/X86InstrMMX.td X86InstrSSE.td

Evan Cheng evan.cheng at apple.com
Sun Mar 19 22:05:04 PST 2006



Changes in directory llvm/lib/Target/X86:

X86InstrMMX.td updated: 1.2 -> 1.3
X86InstrSSE.td updated: 1.8 -> 1.9
---
Log message:

Move a few things around.


---
Diffs of the changes:  (+14 -13)

 X86InstrMMX.td |   10 ++++++++++
 X86InstrSSE.td |   17 ++++-------------
 2 files changed, 14 insertions(+), 13 deletions(-)


Index: llvm/lib/Target/X86/X86InstrMMX.td
diff -u llvm/lib/Target/X86/X86InstrMMX.td:1.2 llvm/lib/Target/X86/X86InstrMMX.td:1.3
--- llvm/lib/Target/X86/X86InstrMMX.td:1.2	Tue Feb 21 14:00:20 2006
+++ llvm/lib/Target/X86/X86InstrMMX.td	Mon Mar 20 00:04:52 2006
@@ -13,6 +13,15 @@
 //
 //===----------------------------------------------------------------------===//
 
+// Some 'special' instructions
+def IMPLICIT_DEF_VR64 : I<0, Pseudo, (ops VR64:$dst),
+                          "#IMPLICIT_DEF $dst",
+                          [(set VR64:$dst, (v8i8 (undef)))]>,
+                        Requires<[HasMMX]>;
+
+def : Pat<(v4i16 (undef)), (IMPLICIT_DEF_VR64)>,  Requires<[HasMMX]>;
+def : Pat<(v2i32 (undef)), (IMPLICIT_DEF_VR64)>,  Requires<[HasMMX]>;
+
 // Move Instructions
 def MOVD64rr : I<0x6E, MRMSrcReg, (ops VR64:$dst, R32:$src),
                  "movd {$src, $dst|$dst, $src}", []>, TB,
@@ -33,3 +42,4 @@
 def MOVQ64mr : I<0x7F, MRMDestMem, (ops i64mem:$dst, VR64:$src),
                  "movq {$src, $dst|$dst, $src}", []>, TB,
                Requires<[HasMMX]>;
+


Index: llvm/lib/Target/X86/X86InstrSSE.td
diff -u llvm/lib/Target/X86/X86InstrSSE.td:1.8 llvm/lib/Target/X86/X86InstrSSE.td:1.9
--- llvm/lib/Target/X86/X86InstrSSE.td:1.8	Sun Mar 19 03:38:54 2006
+++ llvm/lib/Target/X86/X86InstrSSE.td	Mon Mar 20 00:04:52 2006
@@ -348,6 +348,10 @@
                          Requires<[HasSSE1]>;
 
 def : Pat<(v2f64 (undef)), (IMPLICIT_DEF_VR128)>, Requires<[HasSSE2]>;
+def : Pat<(v16i8 (undef)), (IMPLICIT_DEF_VR128)>, Requires<[HasSSE2]>;
+def : Pat<(v8i16 (undef)), (IMPLICIT_DEF_VR128)>, Requires<[HasSSE2]>;
+def : Pat<(v4i32 (undef)), (IMPLICIT_DEF_VR128)>, Requires<[HasSSE2]>;
+def : Pat<(v2i64 (undef)), (IMPLICIT_DEF_VR128)>, Requires<[HasSSE2]>;
 
 // Move Instructions
 def MOVAPSrr : PSI<0x28, MRMSrcReg, (ops VR128:$dst, VR128:$src),
@@ -694,19 +698,6 @@
 // SSE integer instructions
 //===----------------------------------------------------------------------===//
 
-// Some 'special' instructions
-def IMPLICIT_DEF_VR64 : I<0, Pseudo, (ops VR64:$dst),
-                          "#IMPLICIT_DEF $dst",
-                          [(set VR64:$dst, (v8i8 (undef)))]>,
-                        Requires<[HasMMX]>;
-
-def : Pat<(v4i16 (undef)), (IMPLICIT_DEF_VR64)>,  Requires<[HasMMX]>;
-def : Pat<(v2i32 (undef)), (IMPLICIT_DEF_VR64)>,  Requires<[HasMMX]>;
-def : Pat<(v16i8 (undef)), (IMPLICIT_DEF_VR128)>, Requires<[HasSSE2]>;
-def : Pat<(v8i16 (undef)), (IMPLICIT_DEF_VR128)>, Requires<[HasSSE2]>;
-def : Pat<(v4i32 (undef)), (IMPLICIT_DEF_VR128)>, Requires<[HasSSE2]>;
-def : Pat<(v2i64 (undef)), (IMPLICIT_DEF_VR128)>, Requires<[HasSSE2]>;
-
 // Move Instructions
 def MOVD128rr : PDI<0x6E, MRMSrcReg, (ops VR128:$dst, R32:$src),
                   "movd {$src, $dst|$dst, $src}", []>;






More information about the llvm-commits mailing list