@@ -392,15 +392,15 @@ define <4 x i32> @shuffle_v4i32(<3 x i32> %arg0, i1 %cond) {
392
392
; CHECK-NEXT: [[ENTRY:.*:]]
393
393
; CHECK-NEXT: br i1 [[COND]], label %[[THEN:.*]], label %[[ELSE:.*]]
394
394
; CHECK: [[THEN]]:
395
- ; CHECK-NEXT: [[VAL1 :%.*]] = shufflevector <3 x i32> [[ARG0]], <3 x i32> poison, <4 x i32> <i32 1, i32 1 , i32 1, i32 1 >
395
+ ; CHECK-NEXT: [[TMP0 :%.*]] = shufflevector <3 x i32> [[ARG0]], <3 x i32> poison, <3 x i32> <i32 1, i32 2 , i32 0 >
396
396
; CHECK-NEXT: tail call void @func0()
397
397
; CHECK-NEXT: br label %[[FINALLY:.*]]
398
398
; CHECK: [[ELSE]]:
399
- ; CHECK-NEXT: [[VAL2:%.*]] = shufflevector <3 x i32> [[ARG0]], <3 x i32> poison, <4 x i32> <i32 2, i32 2, i32 2, i32 2>
400
399
; CHECK-NEXT: tail call void @func1()
401
400
; CHECK-NEXT: br label %[[FINALLY]]
402
401
; CHECK: [[FINALLY]]:
403
- ; CHECK-NEXT: [[VAL3:%.*]] = phi <4 x i32> [ [[VAL1]], %[[THEN]] ], [ [[VAL2]], %[[ELSE]] ]
402
+ ; CHECK-NEXT: [[TMP1:%.*]] = phi <3 x i32> [ [[TMP0]], %[[THEN]] ], [ [[ARG0]], %[[ELSE]] ]
403
+ ; CHECK-NEXT: [[VAL3:%.*]] = shufflevector <3 x i32> [[TMP1]], <3 x i32> poison, <4 x i32> <i32 2, i32 2, i32 2, i32 2>
404
404
; CHECK-NEXT: ret <4 x i32> [[VAL3]]
405
405
;
406
406
entry:
@@ -427,15 +427,15 @@ define <8 x i32> @shuffle_v8i32(<3 x i32> %arg0, i1 %cond) {
427
427
; CHECK-NEXT: [[ENTRY:.*:]]
428
428
; CHECK-NEXT: br i1 [[COND]], label %[[THEN:.*]], label %[[ELSE:.*]]
429
429
; CHECK: [[THEN]]:
430
- ; CHECK-NEXT: [[VAL1 :%.*]] = shufflevector <3 x i32> [[ARG0]], <3 x i32> poison, <8 x i32> <i32 1, i32 1 , i32 1, i32 1, i32 1, i32 1, i32 1, i32 1 >
430
+ ; CHECK-NEXT: [[TMP0 :%.*]] = shufflevector <3 x i32> [[ARG0]], <3 x i32> poison, <3 x i32> <i32 1, i32 2 , i32 0 >
431
431
; CHECK-NEXT: tail call void @func0()
432
432
; CHECK-NEXT: br label %[[FINALLY:.*]]
433
433
; CHECK: [[ELSE]]:
434
- ; CHECK-NEXT: [[VAL2:%.*]] = shufflevector <3 x i32> [[ARG0]], <3 x i32> poison, <8 x i32> <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
435
434
; CHECK-NEXT: tail call void @func1()
436
435
; CHECK-NEXT: br label %[[FINALLY]]
437
436
; CHECK: [[FINALLY]]:
438
- ; CHECK-NEXT: [[VAL3:%.*]] = phi <8 x i32> [ [[VAL1]], %[[THEN]] ], [ [[VAL2]], %[[ELSE]] ]
437
+ ; CHECK-NEXT: [[TMP1:%.*]] = phi <3 x i32> [ [[TMP0]], %[[THEN]] ], [ [[ARG0]], %[[ELSE]] ]
438
+ ; CHECK-NEXT: [[VAL3:%.*]] = shufflevector <3 x i32> [[TMP1]], <3 x i32> poison, <8 x i32> <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
439
439
; CHECK-NEXT: ret <8 x i32> [[VAL3]]
440
440
;
441
441
entry:
@@ -462,15 +462,15 @@ define <16 x i32> @shuffle_v16i32(<3 x i32> %arg0, i1 %cond) {
462
462
; CHECK-NEXT: [[ENTRY:.*:]]
463
463
; CHECK-NEXT: br i1 [[COND]], label %[[THEN:.*]], label %[[ELSE:.*]]
464
464
; CHECK: [[THEN]]:
465
- ; CHECK-NEXT: [[VAL1 :%.*]] = shufflevector <3 x i32> [[ARG0]], <3 x i32> poison, <16 x i32> <i32 1, i32 1 , i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1 >
465
+ ; CHECK-NEXT: [[TMP0 :%.*]] = shufflevector <3 x i32> [[ARG0]], <3 x i32> poison, <3 x i32> <i32 1, i32 2 , i32 0 >
466
466
; CHECK-NEXT: tail call void @func0()
467
467
; CHECK-NEXT: br label %[[FINALLY:.*]]
468
468
; CHECK: [[ELSE]]:
469
- ; CHECK-NEXT: [[VAL2:%.*]] = shufflevector <3 x i32> [[ARG0]], <3 x i32> poison, <16 x i32> <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
470
469
; CHECK-NEXT: tail call void @func1()
471
470
; CHECK-NEXT: br label %[[FINALLY]]
472
471
; CHECK: [[FINALLY]]:
473
- ; CHECK-NEXT: [[VAL3:%.*]] = phi <16 x i32> [ [[VAL1]], %[[THEN]] ], [ [[VAL2]], %[[ELSE]] ]
472
+ ; CHECK-NEXT: [[TMP1:%.*]] = phi <3 x i32> [ [[TMP0]], %[[THEN]] ], [ [[ARG0]], %[[ELSE]] ]
473
+ ; CHECK-NEXT: [[VAL3:%.*]] = shufflevector <3 x i32> [[TMP1]], <3 x i32> poison, <16 x i32> <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
474
474
; CHECK-NEXT: ret <16 x i32> [[VAL3]]
475
475
;
476
476
entry:
@@ -497,15 +497,15 @@ define <32 x i32> @shuffle_v32i32(<3 x i32> %arg0, i1 %cond) {
497
497
; CHECK-NEXT: [[ENTRY:.*:]]
498
498
; CHECK-NEXT: br i1 [[COND]], label %[[THEN:.*]], label %[[ELSE:.*]]
499
499
; CHECK: [[THEN]]:
500
- ; CHECK-NEXT: [[VAL1 :%.*]] = shufflevector <3 x i32> [[ARG0]], <3 x i32> poison, <32 x i32> <i32 1, i32 1 , i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1 >
500
+ ; CHECK-NEXT: [[TMP0 :%.*]] = shufflevector <3 x i32> [[ARG0]], <3 x i32> poison, <3 x i32> <i32 1, i32 2 , i32 0 >
501
501
; CHECK-NEXT: tail call void @func0()
502
502
; CHECK-NEXT: br label %[[FINALLY:.*]]
503
503
; CHECK: [[ELSE]]:
504
- ; CHECK-NEXT: [[VAL2:%.*]] = shufflevector <3 x i32> [[ARG0]], <3 x i32> poison, <32 x i32> <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
505
504
; CHECK-NEXT: tail call void @func1()
506
505
; CHECK-NEXT: br label %[[FINALLY]]
507
506
; CHECK: [[FINALLY]]:
508
- ; CHECK-NEXT: [[VAL3:%.*]] = phi <32 x i32> [ [[VAL1]], %[[THEN]] ], [ [[VAL2]], %[[ELSE]] ]
507
+ ; CHECK-NEXT: [[TMP1:%.*]] = phi <3 x i32> [ [[TMP0]], %[[THEN]] ], [ [[ARG0]], %[[ELSE]] ]
508
+ ; CHECK-NEXT: [[VAL3:%.*]] = shufflevector <3 x i32> [[TMP1]], <3 x i32> poison, <32 x i32> <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
509
509
; CHECK-NEXT: ret <32 x i32> [[VAL3]]
510
510
;
511
511
entry:
@@ -1092,15 +1092,15 @@ define <4 x float> @shuffle_v4f32(<3 x float> %arg0, i1 %cond) {
1092
1092
; CHECK-NEXT: [[ENTRY:.*:]]
1093
1093
; CHECK-NEXT: br i1 [[COND]], label %[[THEN:.*]], label %[[ELSE:.*]]
1094
1094
; CHECK: [[THEN]]:
1095
- ; CHECK-NEXT: [[VAL1 :%.*]] = shufflevector <3 x float> [[ARG0]], <3 x float> poison, <4 x i32> <i32 1, i32 1 , i32 1, i32 1 >
1095
+ ; CHECK-NEXT: [[TMP0 :%.*]] = shufflevector <3 x float> [[ARG0]], <3 x float> poison, <3 x i32> <i32 1, i32 2 , i32 0 >
1096
1096
; CHECK-NEXT: tail call void @func0()
1097
1097
; CHECK-NEXT: br label %[[FINALLY:.*]]
1098
1098
; CHECK: [[ELSE]]:
1099
- ; CHECK-NEXT: [[VAL2:%.*]] = shufflevector <3 x float> [[ARG0]], <3 x float> poison, <4 x i32> <i32 2, i32 2, i32 2, i32 2>
1100
1099
; CHECK-NEXT: tail call void @func1()
1101
1100
; CHECK-NEXT: br label %[[FINALLY]]
1102
1101
; CHECK: [[FINALLY]]:
1103
- ; CHECK-NEXT: [[VAL3:%.*]] = phi <4 x float> [ [[VAL1]], %[[THEN]] ], [ [[VAL2]], %[[ELSE]] ]
1102
+ ; CHECK-NEXT: [[TMP1:%.*]] = phi <3 x float> [ [[TMP0]], %[[THEN]] ], [ [[ARG0]], %[[ELSE]] ]
1103
+ ; CHECK-NEXT: [[VAL3:%.*]] = shufflevector <3 x float> [[TMP1]], <3 x float> poison, <4 x i32> <i32 2, i32 2, i32 2, i32 2>
1104
1104
; CHECK-NEXT: ret <4 x float> [[VAL3]]
1105
1105
;
1106
1106
entry:
@@ -1127,15 +1127,15 @@ define <6 x float> @shuffle_v6f32(<3 x float> %arg0, i1 %cond) {
1127
1127
; CHECK-NEXT: [[ENTRY:.*:]]
1128
1128
; CHECK-NEXT: br i1 [[COND]], label %[[THEN:.*]], label %[[ELSE:.*]]
1129
1129
; CHECK: [[THEN]]:
1130
- ; CHECK-NEXT: [[VAL1 :%.*]] = shufflevector <3 x float> [[ARG0]], <3 x float> poison, <6 x i32> <i32 1, i32 1 , i32 1, i32 1, i32 1, i32 1 >
1130
+ ; CHECK-NEXT: [[TMP0 :%.*]] = shufflevector <3 x float> [[ARG0]], <3 x float> poison, <3 x i32> <i32 1, i32 2 , i32 0 >
1131
1131
; CHECK-NEXT: tail call void @func0()
1132
1132
; CHECK-NEXT: br label %[[FINALLY:.*]]
1133
1133
; CHECK: [[ELSE]]:
1134
- ; CHECK-NEXT: [[VAL2:%.*]] = shufflevector <3 x float> [[ARG0]], <3 x float> poison, <6 x i32> <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
1135
1134
; CHECK-NEXT: tail call void @func1()
1136
1135
; CHECK-NEXT: br label %[[FINALLY]]
1137
1136
; CHECK: [[FINALLY]]:
1138
- ; CHECK-NEXT: [[VAL3:%.*]] = phi <6 x float> [ [[VAL1]], %[[THEN]] ], [ [[VAL2]], %[[ELSE]] ]
1137
+ ; CHECK-NEXT: [[TMP1:%.*]] = phi <3 x float> [ [[TMP0]], %[[THEN]] ], [ [[ARG0]], %[[ELSE]] ]
1138
+ ; CHECK-NEXT: [[VAL3:%.*]] = shufflevector <3 x float> [[TMP1]], <3 x float> poison, <6 x i32> <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
1139
1139
; CHECK-NEXT: ret <6 x float> [[VAL3]]
1140
1140
;
1141
1141
entry:
@@ -1162,15 +1162,15 @@ define <8 x float> @shuffle_v8f32(<3 x float> %arg0, i1 %cond) {
1162
1162
; CHECK-NEXT: [[ENTRY:.*:]]
1163
1163
; CHECK-NEXT: br i1 [[COND]], label %[[THEN:.*]], label %[[ELSE:.*]]
1164
1164
; CHECK: [[THEN]]:
1165
- ; CHECK-NEXT: [[VAL1 :%.*]] = shufflevector <3 x float> [[ARG0]], <3 x float> poison, <8 x i32> <i32 1, i32 1 , i32 1, i32 1, i32 1, i32 1, i32 1, i32 1 >
1165
+ ; CHECK-NEXT: [[TMP0 :%.*]] = shufflevector <3 x float> [[ARG0]], <3 x float> poison, <3 x i32> <i32 1, i32 2 , i32 0 >
1166
1166
; CHECK-NEXT: tail call void @func0()
1167
1167
; CHECK-NEXT: br label %[[FINALLY:.*]]
1168
1168
; CHECK: [[ELSE]]:
1169
- ; CHECK-NEXT: [[VAL2:%.*]] = shufflevector <3 x float> [[ARG0]], <3 x float> poison, <8 x i32> <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
1170
1169
; CHECK-NEXT: tail call void @func1()
1171
1170
; CHECK-NEXT: br label %[[FINALLY]]
1172
1171
; CHECK: [[FINALLY]]:
1173
- ; CHECK-NEXT: [[VAL3:%.*]] = phi <8 x float> [ [[VAL1]], %[[THEN]] ], [ [[VAL2]], %[[ELSE]] ]
1172
+ ; CHECK-NEXT: [[TMP1:%.*]] = phi <3 x float> [ [[TMP0]], %[[THEN]] ], [ [[ARG0]], %[[ELSE]] ]
1173
+ ; CHECK-NEXT: [[VAL3:%.*]] = shufflevector <3 x float> [[TMP1]], <3 x float> poison, <8 x i32> <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
1174
1174
; CHECK-NEXT: ret <8 x float> [[VAL3]]
1175
1175
;
1176
1176
entry:
@@ -1197,15 +1197,15 @@ define <16 x float> @shuffle_v16f32(<3 x float> %arg0, i1 %cond) {
1197
1197
; CHECK-NEXT: [[ENTRY:.*:]]
1198
1198
; CHECK-NEXT: br i1 [[COND]], label %[[THEN:.*]], label %[[ELSE:.*]]
1199
1199
; CHECK: [[THEN]]:
1200
- ; CHECK-NEXT: [[VAL1 :%.*]] = shufflevector <3 x float> [[ARG0]], <3 x float> poison, <16 x i32> <i32 1, i32 1 , i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1 >
1200
+ ; CHECK-NEXT: [[TMP0 :%.*]] = shufflevector <3 x float> [[ARG0]], <3 x float> poison, <3 x i32> <i32 1, i32 2 , i32 0 >
1201
1201
; CHECK-NEXT: tail call void @func0()
1202
1202
; CHECK-NEXT: br label %[[FINALLY:.*]]
1203
1203
; CHECK: [[ELSE]]:
1204
- ; CHECK-NEXT: [[VAL2:%.*]] = shufflevector <3 x float> [[ARG0]], <3 x float> poison, <16 x i32> <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
1205
1204
; CHECK-NEXT: tail call void @func1()
1206
1205
; CHECK-NEXT: br label %[[FINALLY]]
1207
1206
; CHECK: [[FINALLY]]:
1208
- ; CHECK-NEXT: [[VAL3:%.*]] = phi <16 x float> [ [[VAL1]], %[[THEN]] ], [ [[VAL2]], %[[ELSE]] ]
1207
+ ; CHECK-NEXT: [[TMP1:%.*]] = phi <3 x float> [ [[TMP0]], %[[THEN]] ], [ [[ARG0]], %[[ELSE]] ]
1208
+ ; CHECK-NEXT: [[VAL3:%.*]] = shufflevector <3 x float> [[TMP1]], <3 x float> poison, <16 x i32> <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
1209
1209
; CHECK-NEXT: ret <16 x float> [[VAL3]]
1210
1210
;
1211
1211
entry:
@@ -1232,15 +1232,15 @@ define <32 x float> @shuffle_v32f32(<3 x float> %arg0, i1 %cond) {
1232
1232
; CHECK-NEXT: [[ENTRY:.*:]]
1233
1233
; CHECK-NEXT: br i1 [[COND]], label %[[THEN:.*]], label %[[ELSE:.*]]
1234
1234
; CHECK: [[THEN]]:
1235
- ; CHECK-NEXT: [[VAL1 :%.*]] = shufflevector <3 x float> [[ARG0]], <3 x float> poison, <32 x i32> <i32 1, i32 1 , i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1 >
1235
+ ; CHECK-NEXT: [[TMP0 :%.*]] = shufflevector <3 x float> [[ARG0]], <3 x float> poison, <3 x i32> <i32 1, i32 2 , i32 0 >
1236
1236
; CHECK-NEXT: tail call void @func0()
1237
1237
; CHECK-NEXT: br label %[[FINALLY:.*]]
1238
1238
; CHECK: [[ELSE]]:
1239
- ; CHECK-NEXT: [[VAL2:%.*]] = shufflevector <3 x float> [[ARG0]], <3 x float> poison, <32 x i32> <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
1240
1239
; CHECK-NEXT: tail call void @func1()
1241
1240
; CHECK-NEXT: br label %[[FINALLY]]
1242
1241
; CHECK: [[FINALLY]]:
1243
- ; CHECK-NEXT: [[VAL3:%.*]] = phi <32 x float> [ [[VAL1]], %[[THEN]] ], [ [[VAL2]], %[[ELSE]] ]
1242
+ ; CHECK-NEXT: [[TMP1:%.*]] = phi <3 x float> [ [[TMP0]], %[[THEN]] ], [ [[ARG0]], %[[ELSE]] ]
1243
+ ; CHECK-NEXT: [[VAL3:%.*]] = shufflevector <3 x float> [[TMP1]], <3 x float> poison, <32 x i32> <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
1244
1244
; CHECK-NEXT: ret <32 x float> [[VAL3]]
1245
1245
;
1246
1246
entry:
0 commit comments