Cast MO.getImm() to unsigned before comparing with an unsigned limit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81318 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Evan Cheng 2009-09-09 06:05:16 +00:00
parent 4a38930a45
commit 28d63b1699
2 changed files with 3 additions and 3 deletions

View 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;
}
}

View 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
}