@@ -1126,10 +1126,7 @@ define i8 @known_reduce_xor_odd_fail(<3 x i8> %xx) {
1126
1126
1127
1127
define i8 @known_reduce_add (<2 x i8 > %xx ) {
1128
1128
; CHECK-LABEL: @known_reduce_add(
1129
- ; CHECK-NEXT: [[X:%.*]] = and <2 x i8> [[XX:%.*]], <i8 3, i8 3>
1130
- ; CHECK-NEXT: [[V:%.*]] = call i8 @llvm.vector.reduce.add.v2i8(<2 x i8> [[X]])
1131
- ; CHECK-NEXT: [[R:%.*]] = and i8 [[V]], 8
1132
- ; CHECK-NEXT: ret i8 [[R]]
1129
+ ; CHECK-NEXT: ret i8 0
1133
1130
;
1134
1131
%x = and <2 x i8 > %xx , <i8 3 , i8 3 >
1135
1132
%v = call i8 @llvm.vector.reduce.add (<2 x i8 > %x )
@@ -1165,10 +1162,7 @@ define i8 @known_reduce_add_fail2(<4 x i8> %xx) {
1165
1162
1166
1163
define i8 @known_reduce_add2 (<4 x i8 > %xx ) {
1167
1164
; CHECK-LABEL: @known_reduce_add2(
1168
- ; CHECK-NEXT: [[X:%.*]] = and <4 x i8> [[XX:%.*]], <i8 3, i8 3, i8 3, i8 3>
1169
- ; CHECK-NEXT: [[V:%.*]] = call i8 @llvm.vector.reduce.add.v4i8(<4 x i8> [[X]])
1170
- ; CHECK-NEXT: [[R:%.*]] = and i8 [[V]], 32
1171
- ; CHECK-NEXT: ret i8 [[R]]
1165
+ ; CHECK-NEXT: ret i8 0
1172
1166
;
1173
1167
%x = and <4 x i8 > %xx , <i8 3 , i8 3 , i8 3 , i8 3 >
1174
1168
%v = call i8 @llvm.vector.reduce.add.v4i8 (<4 x i8 > %x )
@@ -1178,10 +1172,7 @@ define i8 @known_reduce_add2(<4 x i8> %xx) {
1178
1172
1179
1173
define i8 @known_reduce_add3 (<2 x i8 > %xx ) {
1180
1174
; CHECK-LABEL: @known_reduce_add3(
1181
- ; CHECK-NEXT: [[X:%.*]] = or <2 x i8> [[XX:%.*]], <i8 1, i8 1>
1182
- ; CHECK-NEXT: [[V:%.*]] = call i8 @llvm.vector.reduce.add.v2i8(<2 x i8> [[X]])
1183
- ; CHECK-NEXT: [[R:%.*]] = and i8 [[V]], 1
1184
- ; CHECK-NEXT: ret i8 [[R]]
1175
+ ; CHECK-NEXT: ret i8 0
1185
1176
;
1186
1177
%x = or <2 x i8 > %xx , <i8 1 , i8 1 >
1187
1178
%v = call i8 @llvm.vector.reduce.add (<2 x i8 > %x )
@@ -1191,10 +1182,7 @@ define i8 @known_reduce_add3(<2 x i8> %xx) {
1191
1182
1192
1183
define i8 @known_reduce_add33 (<3 x i8 > %xx ) {
1193
1184
; CHECK-LABEL: @known_reduce_add33(
1194
- ; CHECK-NEXT: [[X:%.*]] = or <3 x i8> [[XX:%.*]], <i8 1, i8 1, i8 1>
1195
- ; CHECK-NEXT: [[V:%.*]] = call i8 @llvm.vector.reduce.add.v3i8(<3 x i8> [[X]])
1196
- ; CHECK-NEXT: [[R:%.*]] = and i8 [[V]], 1
1197
- ; CHECK-NEXT: ret i8 [[R]]
1185
+ ; CHECK-NEXT: ret i8 1
1198
1186
;
1199
1187
%x = or <3 x i8 > %xx , <i8 1 , i8 1 , i8 1 >
1200
1188
%v = call i8 @llvm.vector.reduce.add.v3i8 (<3 x i8 > %x )
@@ -1204,10 +1192,7 @@ define i8 @known_reduce_add33(<3 x i8> %xx) {
1204
1192
1205
1193
define i8 @known_reduce_add34 (<4 x i8 > %xx ) {
1206
1194
; CHECK-LABEL: @known_reduce_add34(
1207
- ; CHECK-NEXT: [[X:%.*]] = or <4 x i8> [[XX:%.*]], <i8 1, i8 1, i8 1, i8 1>
1208
- ; CHECK-NEXT: [[V:%.*]] = call i8 @llvm.vector.reduce.add.v4i8(<4 x i8> [[X]])
1209
- ; CHECK-NEXT: [[R:%.*]] = and i8 [[V]], 1
1210
- ; CHECK-NEXT: ret i8 [[R]]
1195
+ ; CHECK-NEXT: ret i8 0
1211
1196
;
1212
1197
%x = or <4 x i8 > %xx , <i8 1 , i8 1 , i8 1 , i8 1 >
1213
1198
%v = call i8 @llvm.vector.reduce.add.v4i8 (<4 x i8 > %x )
@@ -1245,10 +1230,7 @@ define i8 @known_reduce_add4_fail(<2 x i8> %xx) {
1245
1230
1246
1231
define i8 @known_reduce_mul (<2 x i8 > %xx ) {
1247
1232
; CHECK-LABEL: @known_reduce_mul(
1248
- ; CHECK-NEXT: [[X:%.*]] = and <2 x i8> [[XX:%.*]], <i8 3, i8 3>
1249
- ; CHECK-NEXT: [[V:%.*]] = call i8 @llvm.vector.reduce.mul.v2i8(<2 x i8> [[X]])
1250
- ; CHECK-NEXT: [[R:%.*]] = and i8 [[V]], 16
1251
- ; CHECK-NEXT: ret i8 [[R]]
1233
+ ; CHECK-NEXT: ret i8 0
1252
1234
;
1253
1235
%x = and <2 x i8 > %xx , <i8 3 , i8 3 >
1254
1236
%v = call i8 @llvm.vector.reduce.mul (<2 x i8 > %x )
@@ -1284,10 +1266,7 @@ define i8 @known_reduce_mul_fail2(<3 x i8> %xx) {
1284
1266
1285
1267
define i8 @known_reduce_mul2 (<3 x i8 > %xx ) {
1286
1268
; CHECK-LABEL: @known_reduce_mul2(
1287
- ; CHECK-NEXT: [[X:%.*]] = and <3 x i8> [[XX:%.*]], <i8 3, i8 3, i8 3>
1288
- ; CHECK-NEXT: [[V:%.*]] = call i8 @llvm.vector.reduce.mul.v3i8(<3 x i8> [[X]])
1289
- ; CHECK-NEXT: [[R:%.*]] = and i8 [[V]], 64
1290
- ; CHECK-NEXT: ret i8 [[R]]
1269
+ ; CHECK-NEXT: ret i8 0
1291
1270
;
1292
1271
%x = and <3 x i8 > %xx , <i8 3 , i8 3 , i8 3 >
1293
1272
%v = call i8 @llvm.vector.reduce.mul.v3i8 (<3 x i8 > %x )
@@ -1297,10 +1276,7 @@ define i8 @known_reduce_mul2(<3 x i8> %xx) {
1297
1276
1298
1277
define i8 @known_reduce_mul3 (<2 x i8 > %xx ) {
1299
1278
; CHECK-LABEL: @known_reduce_mul3(
1300
- ; CHECK-NEXT: [[X:%.*]] = or <2 x i8> [[XX:%.*]], <i8 1, i8 1>
1301
- ; CHECK-NEXT: [[V:%.*]] = call i8 @llvm.vector.reduce.mul.v2i8(<2 x i8> [[X]])
1302
- ; CHECK-NEXT: [[R:%.*]] = and i8 [[V]], 1
1303
- ; CHECK-NEXT: ret i8 [[R]]
1279
+ ; CHECK-NEXT: ret i8 1
1304
1280
;
1305
1281
%x = or <2 x i8 > %xx , <i8 1 , i8 1 >
1306
1282
%v = call i8 @llvm.vector.reduce.mul (<2 x i8 > %x )
0 commit comments