Lines Matching refs:div
1 ; This test makes sure that div instructions are properly eliminated.
116 %div = udiv i32 %zext, 257 ; 0
117 ret i32 %div
125 %div = lshr i32 %shl, 2
126 %div2 = udiv i32 %a, %div
136 %div = udiv <2 x i64> %shr, <i64 6, i64 6>
137 ret <2 x i64> %div
145 %div = sdiv <2 x i64> %neg, <i64 3, i64 4>
146 ret <2 x i64> %div
153 %div = sdiv <2 x i64> %x, <i64 -1, i64 -1>
154 ret <2 x i64> %div
181 %div = sdiv i32 %shl, 12
182 ret i32 %div
184 ; CHECK-NEXT: %div = sdiv i32 %a, 3
185 ; CHECK-NEXT: ret i32 %div
190 %div = sdiv i32 %mul, 12
191 ret i32 %div
193 ; CHECK-NEXT: %div = sdiv i32 %a, 4
194 ; CHECK-NEXT: ret i32 %div
199 %div = udiv i32 %shl, 12
200 ret i32 %div
202 ; CHECK-NEXT: %div = udiv i32 %a, 3
203 ; CHECK-NEXT: ret i32 %div
208 %div = udiv i32 %mul, 12
209 ret i32 %div
211 ; CHECK-NEXT: %div = lshr i32 %a, 2
212 ; CHECK-NEXT: ret i32 %div
217 %div = sdiv i32 %shl, 2
218 ret i32 %div
220 ; CHECK-NEXT: %div = shl nsw i32 %a, 1
221 ; CHECK-NEXT: ret i32 %div
226 %div = sdiv i32 %mul, 3
227 ret i32 %div
229 ; CHECK-NEXT: %div = shl nsw i32 %a, 2
230 ; CHECK-NEXT: ret i32 %div
235 %div = udiv i32 %shl, 2
236 ret i32 %div
238 ; CHECK-NEXT: %div = shl nuw i32 %a, 1
239 ; CHECK-NEXT: ret i32 %div
244 %div = udiv i32 %mul, 3
245 ret i32 %div
247 ; CHECK-NEXT: %div = mul nuw i32 %a, 12
248 ; CHECK-NEXT: ret i32 %div
253 %div = sdiv i32 %mul, -2147483648
254 ret i32 %div
262 %div = udiv i32 %mul, -2147483648
263 ret i32 %div
270 %div = udiv <2 x i32> %shr, <i32 2147483647, i32 2147483647>
271 ret <2 x i32> %div
280 %div = lshr i32 %shl, 2
281 %div2 = udiv i32 %a, %div
286 ; CHECK-NEXT: %[[div:.*]] = udiv i32 %a, %[[shr]]
292 %div = udiv exact <2 x i64> %shr, <i64 6, i64 6>
293 ret <2 x i64> %div
301 %div = sdiv exact <2 x i64> %neg, <i64 3, i64 4>
302 ret <2 x i64> %div