Lines Matching full:and

14   %and = and i32 %shr, 1
15 ret i32 %and
18 ; ...and again with i64.
25 %and = and i64 %shr, 1
26 ret i64 %and
36 %and = and i32 %shr, 12
37 ret i32 %and
40 ; ...and again with i64.
47 %and = and i64 %shr, 12
48 ret i64 %and
59 %and = and i32 %shr, -8
60 ret i32 %and
63 ; ...and again with i64.
70 %and = and i64 %shr, -8
71 ret i64 %and
75 ; and mask.
83 %and = and i32 %shr, -7
84 ret i32 %and
87 ; ...and again with i64.
95 %and = and i64 %shr, -7
96 ret i64 %and
107 %and = and i32 %shr, 255
108 ret i32 %and
111 ; ...and again with i64.
118 %and = and i64 %shr, 255
119 ret i64 %and
123 ; and mask.
131 %and = and i32 %shr, -241
132 ret i32 %and
135 ; ...and again with i64.
143 %and = and i64 %shr, -241
144 ret i64 %and
158 %and = and i32 %rotl, 248
159 ret i32 %and
162 ; ...and again with i64.
171 %and = and i64 %rotl, 248
172 ret i64 %and
184 %and = and i32 %rotl, 114688
185 ret i32 %and
188 ; ...and again with i64.
197 %and = and i64 %rotl, 114688
198 ret i64 %and
202 ; This needs a separate shift and mask.
212 %and = and i32 %rotl, 126
213 ret i32 %and
216 ; ...and for i64, where RISBG should do the rotate too.
225 %and = and i64 %rotl, 126
226 ret i64 %and
230 ; This needs a separate shift and mask.
238 %and = and i32 %shr, 30
239 ret i32 %and
242 ; ...and again with i64. In this case RISBG is the best way of doing the AND.
250 %and = and i64 %shr, 30
251 ret i64 %and
266 %and = and i32 %shr, 14
267 ret i32 %and
270 ; ...and again with i64.
280 %and = and i64 %shr, 14
281 ret i64 %and
284 ; Check that we use RISBG for shifted values even if the AND is a
292 %and = and i64 %shr, 255
293 ret i64 %and
296 ; Test a case where the AND comes before a rotate. This needs a separate
297 ; mask and rotate.
304 %and = and i32 %foo, 254
305 %parta = lshr i32 %and, 3
306 %partb = shl i32 %and, 29
311 ; ...and again with i64, where a single RISBG is enough.
317 %and = and i64 %foo, 14
318 %parta = shl i64 %and, 3
319 %partb = lshr i64 %and, 61
324 ; Test a wrap-around case in which the AND comes before a rotate.
325 ; This again needs a separate mask and rotate.
332 %and = and i32 %foo, -49
333 %parta = shl i32 %and, 5
334 %partb = lshr i32 %and, 27
339 ; ...and again with i64, where a single RISBG is OK.
345 %and = and i64 %foo, -49
346 %parta = shl i64 %and, 5
347 %partb = lshr i64 %and, 59
352 ; Test a case where the AND comes before a shift left.
358 %and = and i32 %foo, 32766
359 %shl = shl i32 %and, 17
363 ; ...and again with i64.
369 %and = and i64 %foo, 32766
370 %shl = shl i64 %and, 49
380 %and = and i32 %foo, 32766
381 %shl = shl i32 %and, 18
385 ; ...and again with i64.
391 %and = and i64 %foo, 32766
392 %shl = shl i64 %and, 50
396 ; Test a wrap-around case in which the shift left comes after the AND.
404 %and = and i32 %foo, -7
405 %shl = shl i32 %and, 10
409 ; ...and again with i64.
418 %and = and i64 %foo, -7
419 %shl = shl i64 %and, 10
423 ; Test a case where the AND comes before a shift right.
429 %and = and i32 %foo, 65535
430 %shl = lshr i32 %and, 9
434 ; ...and again with i64.
440 %and = and i64 %foo, 65535
441 %shl = lshr i64 %and, 9
445 ; Test a wrap-around case where the AND comes before a shift right.
453 %and = and i32 %foo, -25
454 %shl = lshr i32 %and, 1
458 ; ...and again with i64.
465 %and = and i64 %foo, -25
466 %shl = lshr i64 %and, 1
470 ; Test a combination involving a large ASHR and a shift left. We can't
494 %and = and i64 %shl, 2147483647
495 ret i64 %and
498 ; ...and again with the next highest shift value, where one sign bit is kept.
509 %and = and i64 %shl, 2147483647
510 ret i64 %and
541 ; Check that we get the case where a 64-bit shift is used by a 32-bit and.
551 %conv = and i32 %shr3.tr, -4
555 ; Check that we don't get the case where the 32-bit and mask is not contiguous
565 %and = and i32 %conv, 10
566 ret i32 %and