Changes in directory llvm/lib/Target/X86:

X86ISelLowering.cpp updated: 1.402 -> 1.403
---
Log message:

This is the correct fix for PR1427: http://llvm.org/PR1427 .  This fixes 
mmx-shuffle.ll and doesn't
cause other regressions.


---
Diffs of the changes:  (+5 -2)

 X86ISelLowering.cpp |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)


Index: llvm/lib/Target/X86/X86ISelLowering.cpp
diff -u llvm/lib/Target/X86/X86ISelLowering.cpp:1.402 
llvm/lib/Target/X86/X86ISelLowering.cpp:1.403
--- llvm/lib/Target/X86/X86ISelLowering.cpp:1.402       Thu May 17 02:50:14 2007
+++ llvm/lib/Target/X86/X86ISelLowering.cpp     Thu May 17 12:13:13 2007
@@ -2675,7 +2675,8 @@
       return Op;
     }
 
-    if (X86::isSHUFPMask(PermMask.Val))
+    if (X86::isSHUFPMask(PermMask.Val) &&
+        MVT::getSizeInBits(VT) != 64)    // Don't do this for MMX.
       return Op;
 
     // Handle v8i16 shuffle high / low shuffle node pair.
@@ -2712,7 +2713,9 @@
     }
   }
 
-  if (NumElems == 4) {
+  if (NumElems == 4 && 
+      // Don't do this for MMX.
+      MVT::getSizeInBits(VT) != 64) {
     MVT::ValueType MaskVT = PermMask.getValueType();
     MVT::ValueType MaskEVT = MVT::getVectorBaseType(MaskVT);
     SmallVector<std::pair<int, int>, 8> Locs;



_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to