Changes in directory llvm/lib/Target/X86:

X86ISelLowering.cpp updated: 1.237 -> 1.238
---
Log message:

A splat of a vector constant of all zero or all one is the vector constant.


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

 X86ISelLowering.cpp |    2 ++
 1 files changed, 2 insertions(+)


Index: llvm/lib/Target/X86/X86ISelLowering.cpp
diff -u llvm/lib/Target/X86/X86ISelLowering.cpp:1.237 
llvm/lib/Target/X86/X86ISelLowering.cpp:1.238
--- llvm/lib/Target/X86/X86ISelLowering.cpp:1.237       Wed Jul 12 11:59:49 2006
+++ llvm/lib/Target/X86/X86ISelLowering.cpp     Thu Jul 20 18:09:47 2006
@@ -2393,6 +2393,8 @@
   bool V2IsUndef = V2.getOpcode() == ISD::UNDEF;
 
   if (isSplatMask(PermMask.Val)) {
+    if (ISD::isBuildVectorAllZeros(V1.Val) || 
ISD::isBuildVectorAllOnes(V1.Val))
+      return V1;
     if (NumElems <= 4) return Op;
     // Promote it to a v4i32 splat.
     return PromoteSplat(Op, DAG);



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

Reply via email to