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