[llvm-commits] [llvm] r141903 - /llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp

Eli Friedman eli.friedman at gmail.com
Thu Oct 13 15:40:24 PDT 2011


Author: efriedma
Date: Thu Oct 13 17:40:23 2011
New Revision: 141903

URL: http://llvm.org/viewvc/llvm-project?rev=141903&view=rev
Log:
Simplify and avoid undefined shift.  Based on patch by Ahmed Charles.


Modified:
    llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp

Modified: llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp?rev=141903&r1=141902&r2=141903&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp Thu Oct 13 17:40:23 2011
@@ -3944,8 +3944,7 @@
       }
 
       // Try an immediate VMVN.
-      uint64_t NegatedImm = (SplatBits.getZExtValue() ^
-                             ((1LL << SplatBitSize) - 1));
+      uint64_t NegatedImm = (~SplatBits).getZExtValue();
       Val = isNEONModifiedImm(NegatedImm,
                                       SplatUndef.getZExtValue(), SplatBitSize,
                                       DAG, VmovVT, VT.is128BitVector(),





More information about the llvm-commits mailing list