Lines Matching refs:overflow
22 ; CHECK: [[MUL:%.*]] = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %x, i32 %y)
23 %overflow = icmp ugt i64 %mul64, 4294967295
25 %retval = zext i1 %overflow to i32
37 ; CHECK: [[MUL:%.*]] = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %x, i32 %y)
38 %overflow = icmp uge i64 %mul64, 4294967296
40 %retval = zext i1 %overflow to i32
53 ; CHECK: [[MUL:%.*]] = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %x, i32 %y)
54 %overflow = icmp ugt i64 %mul64, 4294967295
58 %retval = select i1 %overflow, i32 %mul32, i32 111
71 ; CHECK-NOT: umul.with.overflow.i32
72 %overflow = icmp ugt i64 %mul64, 4294967295
73 %retval = select i1 %overflow, i64 %mul64, i64 111
85 ; CHECK: [[MUL:%.*]] = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %x, i32 %y)
86 %overflow = icmp ule i64 %mul64, 4294967295
89 %retval = zext i1 %overflow to i32
101 ; CHECK: [[MUL:%.*]] = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %x, i32 %y)
102 %overflow = icmp ult i64 %mul64, 4294967296
105 %retval = zext i1 %overflow to i32
117 %overflow = icmp ugt i64 %mul64, 4294967295
119 ; CHECK: [[MUL:%.*]] = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %x, i32 [[Y]])
122 %retval = select i1 %overflow, i32 %mul32, i32 111
134 ; CHECK: [[MUL:%.*]] = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %x, i32 %y)
137 %overflow = icmp ne i64 %mul64, %part64
139 %retval = zext i1 %overflow to i32
150 ; CHECK: [[MUL:%.*]] = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %x, i32 %y)
153 %overflow = icmp eq i64 %mul64, %part64
155 %retval = zext i1 %overflow to i32
167 ; CHECK: [[MUL:%.*]] = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %x, i32 %y)
170 %overflow = icmp ne i64 %part64, %mul64
172 %retval = zext i1 %overflow to i32
178 ; CHECK-NOT: mul.with.overflow
192 ; CHECK-NEXT: %[[umul:.*]] = call { i8, i1 } @llvm.umul.with.overflow.i8(i8 %a, i8 ptrtoint (i32* …