Lines Matching refs:sext
22 %idxprom = sext i32 %add to i64
29 ; We should be able to trace into sext(a + b) if a + b is non-negative
35 %1 = sext i32 %0 to i64 ; inbound sext(i + 1) = sext(i) + 1
37 ; However, inbound sext(j + -2) != sext(j) + -2, e.g., j = INT_MIN
38 %3 = sext i32 %2 to i64
45 ; CHECK: sext
49 ; We should be able to trace into sext/zext if it can be distributed to both
50 ; operands, e.g., sext (add nsw a, b) == add nsw (sext a), (sext b)
53 ; gep base, a + sext(b +nsw 1), c + zext(d +nuw 1)
55 ; gep base, a + sext(b), c + zext(d); gep ..., 1 * 32 + 1
58 %b2 = sext i32 %b1 to i64
59 %i = add i64 %a, %b2 ; i = a + sext(b +nsw 1)
70 ; Verifies we handle nested sext/zext correctly.
74 %1 = sext i32 %0 to i48
75 %2 = zext i48 %1 to i64 ; zext(sext(a +nsw nuw 1)) = zext(sext(a)) + 1
77 %4 = sext i32 %3 to i48
78 %5 = zext i48 %4 to i64 ; zext(sext(b +nsw 2)) != zext(sext(b)) + 2
83 %8 = sext i48 %7 to i64 ; sext(zext(a +nuw 3)) = zext(a +nuw 3) = zext(a) + 3
86 %11 = sext i48 %10 to i64 ; sext(zext(b +nsw 4)) != zext(b) + 4
105 %b3.ext = sext i32 %b3 to i64
131 ; d + sext(a +nsw (b +nsw (c +nsw 8))) => (d + sext(a) + sext(b) + sext(c)) + 8
137 %3 = sext i32 %2 to i64
143 ; CHECK: sext i32
144 ; CHECK: sext i32
145 ; CHECK: sext i32
167 %idxprom = sext i32 %add to i64
169 %idxprom2 = sext i32 %add1 to i64
196 ; sext(a + b) != sext(a) + sext(b)
217 %1 = sext i1 %0 to i4
218 %2 = zext i4 %1 to i64 ; zext (sext i1 1 to i4) to i64 = 15