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

Evan Cheng evan.cheng at apple.com
Thu Dec 14 11:43:26 PST 2006



Changes in directory llvm/lib/Target/X86:

X86InstrSSE.td updated: 1.173 -> 1.174
---
Log message:

- Rename MOVDSS2DIrr to MOVSS2DIrr for consistency sake.
- Add MOVDI2SSrm and MOVSS2DImr to fold load / store for i32 <-> f32 bit_convert
  patterns.

---
Diffs of the changes:  (+9 -3)

 X86InstrSSE.td |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)


Index: llvm/lib/Target/X86/X86InstrSSE.td
diff -u llvm/lib/Target/X86/X86InstrSSE.td:1.173 llvm/lib/Target/X86/X86InstrSSE.td:1.174
--- llvm/lib/Target/X86/X86InstrSSE.td:1.173	Tue Dec  5 12:45:06 2006
+++ llvm/lib/Target/X86/X86InstrSSE.td	Thu Dec 14 13:43:11 2006
@@ -1687,6 +1687,9 @@
                       "movd {$src, $dst|$dst, $src}",
                       [(set FR32:$dst, (bitconvert GR32:$src))]>;
 
+def MOVDI2SSrm  : PDI<0x6E, MRMSrcMem, (ops FR32:$dst, i32mem:$src),
+                      "movd {$src, $dst|$dst, $src}",
+                      [(set FR32:$dst, (bitconvert (loadi32 addr:$src)))]>;
 
 // SSE2 instructions with XS prefix
 def MOVQI2PQIrm : I<0x7E, MRMSrcMem, (ops VR128:$dst, i64mem:$src),
@@ -1729,9 +1732,12 @@
                        [(store (i32 (vector_extract (v4i32 VR128:$src),
                                      (iPTR 0))), addr:$dst)]>;
 
-def MOVDSS2DIrr  : PDI<0x7E, MRMDestReg, (ops GR32:$dst, FR32:$src),
-                       "movd {$src, $dst|$dst, $src}",
-                       [(set GR32:$dst, (bitconvert FR32:$src))]>;
+def MOVSS2DIrr  : PDI<0x7E, MRMDestReg, (ops GR32:$dst, FR32:$src),
+                      "movd {$src, $dst|$dst, $src}",
+                      [(set GR32:$dst, (bitconvert FR32:$src))]>;
+def MOVSS2DImr  : PDI<0x7E, MRMDestMem, (ops i32mem:$dst, FR32:$src),
+                      "movd {$src, $dst|$dst, $src}",
+                      [(store (i32 (bitconvert FR32:$src)), addr:$dst)]>;
 
 
 // Move to lower bits of a VR128, leaving upper bits alone.






More information about the llvm-commits mailing list