@@ -60,7 +60,7 @@ define <2 x i1> @cmp_signedness(<2 x i8> %a) {
60
60
}
61
61
62
62
define <2 x i16 > @infer_nowrap (<2 x i8 > %a ) {
63
- ; CHECK-LABEL: define <2 x i16> @infer_nowrap(
63
+ ; CHECK-LABEL: define range(i16 1, 257) <2 x i16> @infer_nowrap(
64
64
; CHECK-SAME: <2 x i8> [[A:%.*]]) {
65
65
; CHECK-NEXT: [[ZEXT:%.*]] = zext <2 x i8> [[A]] to <2 x i16>
66
66
; CHECK-NEXT: [[RES:%.*]] = add nuw nsw <2 x i16> [[ZEXT]], <i16 1, i16 1>
@@ -72,7 +72,7 @@ define <2 x i16> @infer_nowrap(<2 x i8> %a) {
72
72
}
73
73
74
74
define <2 x i16 > @infer_nowrap_nonsplat (<2 x i8 > %a ) {
75
- ; CHECK-LABEL: define <2 x i16> @infer_nowrap_nonsplat(
75
+ ; CHECK-LABEL: define range(i16 1, 258) <2 x i16> @infer_nowrap_nonsplat(
76
76
; CHECK-SAME: <2 x i8> [[A:%.*]]) {
77
77
; CHECK-NEXT: [[ZEXT:%.*]] = zext <2 x i8> [[A]] to <2 x i16>
78
78
; CHECK-NEXT: [[RES:%.*]] = add nuw nsw <2 x i16> [[ZEXT]], <i16 1, i16 2>
@@ -84,7 +84,7 @@ define <2 x i16> @infer_nowrap_nonsplat(<2 x i8> %a) {
84
84
}
85
85
86
86
define <vscale x 2 x i16 > @infer_nowrap_scalable (<vscale x 2 x i8 > %a ) {
87
- ; CHECK-LABEL: define <vscale x 2 x i16> @infer_nowrap_scalable(
87
+ ; CHECK-LABEL: define range(i16 1, 257) <vscale x 2 x i16> @infer_nowrap_scalable(
88
88
; CHECK-SAME: <vscale x 2 x i8> [[A:%.*]]) {
89
89
; CHECK-NEXT: [[ZEXT:%.*]] = zext <vscale x 2 x i8> [[A]] to <vscale x 2 x i16>
90
90
; CHECK-NEXT: [[RES:%.*]] = add nuw nsw <vscale x 2 x i16> [[ZEXT]], shufflevector (<vscale x 2 x i16> insertelement (<vscale x 2 x i16> poison, i16 1, i64 0), <vscale x 2 x i16> poison, <vscale x 2 x i32> zeroinitializer)
@@ -96,7 +96,7 @@ define <vscale x 2 x i16> @infer_nowrap_scalable(<vscale x 2 x i8> %a) {
96
96
}
97
97
98
98
define <2 x i16 > @infer_nowrap_poison (<2 x i8 > %a ) {
99
- ; CHECK-LABEL: define <2 x i16> @infer_nowrap_poison(
99
+ ; CHECK-LABEL: define range(i16 1, 257) <2 x i16> @infer_nowrap_poison(
100
100
; CHECK-SAME: <2 x i8> [[A:%.*]]) {
101
101
; CHECK-NEXT: [[ZEXT:%.*]] = zext <2 x i8> [[A]] to <2 x i16>
102
102
; CHECK-NEXT: [[RES:%.*]] = add nuw nsw <2 x i16> [[ZEXT]], <i16 1, i16 poison>
@@ -108,7 +108,7 @@ define <2 x i16> @infer_nowrap_poison(<2 x i8> %a) {
108
108
}
109
109
110
110
define <2 x i16 > @infer_nowrap_nonsplat_nsw_only (<2 x i8 > %a ) {
111
- ; CHECK-LABEL: define <2 x i16> @infer_nowrap_nonsplat_nsw_only(
111
+ ; CHECK-LABEL: define range(i16 -1, 257) <2 x i16> @infer_nowrap_nonsplat_nsw_only(
112
112
; CHECK-SAME: <2 x i8> [[A:%.*]]) {
113
113
; CHECK-NEXT: [[ZEXT:%.*]] = zext <2 x i8> [[A]] to <2 x i16>
114
114
; CHECK-NEXT: [[RES:%.*]] = add nsw <2 x i16> [[ZEXT]], <i16 1, i16 -1>
@@ -120,7 +120,7 @@ define <2 x i16> @infer_nowrap_nonsplat_nsw_only(<2 x i8> %a) {
120
120
}
121
121
122
122
define <2 x i16 > @abs (<2 x i8 > %a ) {
123
- ; CHECK-LABEL: define <2 x i16> @abs(
123
+ ; CHECK-LABEL: define range(i16 0, 256) <2 x i16> @abs(
124
124
; CHECK-SAME: <2 x i8> [[A:%.*]]) {
125
125
; CHECK-NEXT: [[ZEXT:%.*]] = zext <2 x i8> [[A]] to <2 x i16>
126
126
; CHECK-NEXT: ret <2 x i16> [[ZEXT]]
@@ -131,7 +131,7 @@ define <2 x i16> @abs(<2 x i8> %a) {
131
131
}
132
132
133
133
define <2 x i16 > @saturating (<2 x i8 > %a ) {
134
- ; CHECK-LABEL: define <2 x i16> @saturating(
134
+ ; CHECK-LABEL: define range(i16 1, 257) <2 x i16> @saturating(
135
135
; CHECK-SAME: <2 x i8> [[A:%.*]]) {
136
136
; CHECK-NEXT: [[ZEXT:%.*]] = zext <2 x i8> [[A]] to <2 x i16>
137
137
; CHECK-NEXT: [[RES:%.*]] = add nuw nsw <2 x i16> [[ZEXT]], <i16 1, i16 1>
@@ -156,7 +156,7 @@ define {<2 x i16>, <2 x i1>} @with_overflow(<2 x i8> %a) {
156
156
}
157
157
158
158
define <2 x i16 > @srem1 (<2 x i8 > %a ) {
159
- ; CHECK-LABEL: define <2 x i16> @srem1(
159
+ ; CHECK-LABEL: define range(i16 0, 42) <2 x i16> @srem1(
160
160
; CHECK-SAME: <2 x i8> [[A:%.*]]) {
161
161
; CHECK-NEXT: [[ZEXT:%.*]] = zext <2 x i8> [[A]] to <2 x i16>
162
162
; CHECK-NEXT: [[RES1_LHS_TRUNC:%.*]] = trunc <2 x i16> [[ZEXT]] to <2 x i8>
@@ -170,7 +170,7 @@ define <2 x i16> @srem1(<2 x i8> %a) {
170
170
}
171
171
172
172
define <2 x i16 > @srem2 (<2 x i8 > %a ) {
173
- ; CHECK-LABEL: define <2 x i16> @srem2(
173
+ ; CHECK-LABEL: define range(i16 -41, 42) <2 x i16> @srem2(
174
174
; CHECK-SAME: <2 x i8> [[A:%.*]]) {
175
175
; CHECK-NEXT: [[ZEXT:%.*]] = sext <2 x i8> [[A]] to <2 x i16>
176
176
; CHECK-NEXT: [[RES_LHS_TRUNC:%.*]] = trunc <2 x i16> [[ZEXT]] to <2 x i8>
@@ -184,7 +184,7 @@ define <2 x i16> @srem2(<2 x i8> %a) {
184
184
}
185
185
186
186
define <2 x i16 > @ashr (<2 x i8 > %a ) {
187
- ; CHECK-LABEL: define <2 x i16> @ashr(
187
+ ; CHECK-LABEL: define range(i16 0, 128) <2 x i16> @ashr(
188
188
; CHECK-SAME: <2 x i8> [[A:%.*]]) {
189
189
; CHECK-NEXT: [[ZEXT:%.*]] = zext <2 x i8> [[A]] to <2 x i16>
190
190
; CHECK-NEXT: [[RES:%.*]] = lshr <2 x i16> [[ZEXT]], <i16 1, i16 1>
@@ -196,7 +196,7 @@ define <2 x i16> @ashr(<2 x i8> %a) {
196
196
}
197
197
198
198
define <2 x i32 > @sext (<2 x i8 > %a ) {
199
- ; CHECK-LABEL: define <2 x i32> @sext(
199
+ ; CHECK-LABEL: define range(i32 0, 256) <2 x i32> @sext(
200
200
; CHECK-SAME: <2 x i8> [[A:%.*]]) {
201
201
; CHECK-NEXT: [[ZEXT:%.*]] = zext <2 x i8> [[A]] to <2 x i16>
202
202
; CHECK-NEXT: [[RES:%.*]] = zext nneg <2 x i16> [[ZEXT]] to <2 x i32>
@@ -220,7 +220,7 @@ define <2 x float> @sitofp(<2 x i8> %a) {
220
220
}
221
221
222
222
define <2 x i16 > @and (<2 x i8 > %a ) {
223
- ; CHECK-LABEL: define <2 x i16> @and(
223
+ ; CHECK-LABEL: define range(i16 0, 256) <2 x i16> @and(
224
224
; CHECK-SAME: <2 x i8> [[A:%.*]]) {
225
225
; CHECK-NEXT: [[ZEXT:%.*]] = zext <2 x i8> [[A]] to <2 x i16>
226
226
; CHECK-NEXT: ret <2 x i16> [[ZEXT]]
@@ -231,7 +231,7 @@ define <2 x i16> @and(<2 x i8> %a) {
231
231
}
232
232
233
233
define <2 x i16 > @and_with_poison (<2 x i8 > %a ) {
234
- ; CHECK-LABEL: define <2 x i16> @and_with_poison(
234
+ ; CHECK-LABEL: define range(i16 0, 256) <2 x i16> @and_with_poison(
235
235
; CHECK-SAME: <2 x i8> [[A:%.*]]) {
236
236
; CHECK-NEXT: [[ZEXT:%.*]] = zext <2 x i8> [[A]] to <2 x i16>
237
237
; CHECK-NEXT: ret <2 x i16> [[ZEXT]]
@@ -242,7 +242,7 @@ define <2 x i16> @and_with_poison(<2 x i8> %a) {
242
242
}
243
243
244
244
define <4 x i64 > @issue_97674_getConstantOnEdge (i1 %cond ) {
245
- ; CHECK-LABEL: define <4 x i64> @issue_97674_getConstantOnEdge(
245
+ ; CHECK-LABEL: define range(i64 0, 2) <4 x i64> @issue_97674_getConstantOnEdge(
246
246
; CHECK-SAME: i1 [[COND:%.*]]) {
247
247
; CHECK-NEXT: [[ENTRY:.*]]:
248
248
; CHECK-NEXT: br i1 [[COND]], label %[[IF_THEN:.*]], label %[[IF_END:.*]]
@@ -277,7 +277,7 @@ entry:
277
277
}
278
278
279
279
define <2 x i16 > @phi_merge1 (i1 %c , <2 x i8 > %a ) {
280
- ; CHECK-LABEL: define <2 x i16> @phi_merge1(
280
+ ; CHECK-LABEL: define range(i16 2, 259) <2 x i16> @phi_merge1(
281
281
; CHECK-SAME: i1 [[C:%.*]], <2 x i8> [[A:%.*]]) {
282
282
; CHECK-NEXT: [[ENTRY:.*]]:
283
283
; CHECK-NEXT: [[ZEXT:%.*]] = zext <2 x i8> [[A]] to <2 x i16>
@@ -303,7 +303,7 @@ join:
303
303
}
304
304
305
305
define <2 x i16 > @phi_merge2 (i1 %c , <2 x i8 > %a ) {
306
- ; CHECK-LABEL: define <2 x i16> @phi_merge2(
306
+ ; CHECK-LABEL: define range(i16 2, 259) <2 x i16> @phi_merge2(
307
307
; CHECK-SAME: i1 [[C:%.*]], <2 x i8> [[A:%.*]]) {
308
308
; CHECK-NEXT: [[ENTRY:.*]]:
309
309
; CHECK-NEXT: [[ZEXT:%.*]] = zext <2 x i8> [[A]] to <2 x i16>
0 commit comments