Cast MO.getImm() to unsigned before comparing with an unsigned limit.
authorEvan Cheng <evan.cheng@apple.com>
Wed, 9 Sep 2009 06:05:16 +0000 (06:05 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Wed, 9 Sep 2009 06:05:16 +0000 (06:05 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81318 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/Thumb2SizeReduction.cpp
test/CodeGen/Thumb2/thumb2-cmp.ll

index 0784fbed88008d7ec1398688cc8749c11deabb44..e1fb3585f74a470e47da7ab71ac01527308596bc 100644 (file)
@@ -504,7 +504,7 @@ Thumb2SizeReduce::ReduceToNarrow(MachineBasicBlock &MBB, MachineInstr *MI,
         return false;
     } else if (MO.isImm() &&
                !TID.OpInfo[i].isPredicate()) {
-      if (MO.getImm() > Limit || (MO.getImm() & (Scale-1)) != 0)
+      if (((unsigned)MO.getImm()) > Limit || (MO.getImm() & (Scale-1)) != 0)
         return false;
     }
   }
index 86fc542f25e239e24b666f06ecec1ce0139d1e5a..d4773bb5809b0def716eb6b48f3e3a5c90c32a08 100644 (file)
@@ -19,7 +19,7 @@ define i1 @f2(i32 %a) {
 ; 0xcc00cc00 = 3422604288
 define i1 @f3(i32 %a) {
 ; CHECK: f3:
-; CHECK: cmp r0, #-872363008
+; CHECK: cmp.w r0, #-872363008
     %tmp = icmp ne i32 %a, 3422604288
     ret i1 %tmp
 }
@@ -27,7 +27,7 @@ define i1 @f3(i32 %a) {
 ; 0xdddddddd = 3722304989
 define i1 @f4(i32 %a) {
 ; CHECK: f4:
-; CHECK: cmp r0, #-572662307
+; CHECK: cmp.w r0, #-572662307
     %tmp = icmp ne i32 %a, 3722304989
     ret i1 %tmp
 }