5
5
6
6
define <4 x float > @PR29126 (<4 x float > %x ) {
7
7
; CHECK-LABEL: @PR29126(
8
- ; CHECK-NEXT: [[INS:%.*]] = shufflevector <4 x float> %x , <4 x float> <float undef, float 1.000000e+00, float 2.000000e+00, float 4.200000e+01>, <4 x i32> <i32 0, i32 5, i32 6, i32 7>
8
+ ; CHECK-NEXT: [[INS:%.*]] = shufflevector <4 x float> [[X:%.*]] , <4 x float> <float undef, float 1.000000e+00, float 2.000000e+00, float 4.200000e+01>, <4 x i32> <i32 0, i32 5, i32 6, i32 7>
9
9
; CHECK-NEXT: ret <4 x float> [[INS]]
10
10
;
11
11
%shuf = shufflevector <4 x float > %x , <4 x float > <float undef , float 1 .0 , float 2 .0 , float undef >, <4 x i32 > <i32 0 , i32 5 , i32 6 , i32 3 >
@@ -17,7 +17,7 @@ define <4 x float> @PR29126(<4 x float> %x) {
17
17
18
18
define <4 x float > @twoInserts (<4 x float > %x ) {
19
19
; CHECK-LABEL: @twoInserts(
20
- ; CHECK-NEXT: [[INS2:%.*]] = shufflevector <4 x float> %x , <4 x float> <float undef, float 0.000000e+00, float 4.200000e+01, float 1.100000e+01>, <4 x i32> <i32 0, i32 5, i32 6, i32 7>
20
+ ; CHECK-NEXT: [[INS2:%.*]] = shufflevector <4 x float> [[X:%.*]] , <4 x float> <float undef, float 0.000000e+00, float 4.200000e+01, float 1.100000e+01>, <4 x i32> <i32 0, i32 5, i32 6, i32 7>
21
21
; CHECK-NEXT: ret <4 x float> [[INS2]]
22
22
;
23
23
%shuf = shufflevector <4 x float > %x , <4 x float > zeroinitializer , <4 x i32 > <i32 0 , i32 5 , i32 6 , i32 3 >
@@ -28,8 +28,8 @@ define <4 x float> @twoInserts(<4 x float> %x) {
28
28
29
29
define <4 x i32 > @shuffleRetain (<4 x i32 > %base ) {
30
30
; CHECK-LABEL: @shuffleRetain(
31
- ; CHECK-NEXT: [[SHUF:%.*]] = shufflevector <4 x i32> %base , <4 x i32> <i32 undef, i32 undef, i32 undef, i32 1>, <4 x i32> <i32 1, i32 2, i32 undef, i32 7>
32
- ; CHECK-NEXT: ret <4 x i32> [[SHUF]]
31
+ ; CHECK-NEXT: [[SHUF:%.*]] = shufflevector <4 x i32> [[BASE:%.*]] , <4 x i32> <i32 undef, i32 undef, i32 undef, i32 1>, <4 x i32> <i32 1, i32 2, i32 undef, i32 7>
32
+ ; CHECK-NEXT: ret <4 x i32> [[SHUF]]
33
33
;
34
34
%shuf = shufflevector <4 x i32 > %base , <4 x i32 > <i32 4 , i32 3 , i32 2 , i32 1 >, <4 x i32 > <i32 1 , i32 2 , i32 undef , i32 7 >
35
35
ret <4 x i32 > %shuf
@@ -39,7 +39,7 @@ define <4 x i32> @shuffleRetain(<4 x i32> %base) {
39
39
40
40
define <4 x float > @disguisedSelect (<4 x float > %x ) {
41
41
; CHECK-LABEL: @disguisedSelect(
42
- ; CHECK-NEXT: [[SHUF:%.*]] = shufflevector <4 x float> %x , <4 x float> <float undef, float 1.000000e+00, float 2.000000e+00, float undef>, <4 x i32> <i32 undef, i32 6, i32 5, i32 3>
42
+ ; CHECK-NEXT: [[SHUF:%.*]] = shufflevector <4 x float> [[X:%.*]] , <4 x float> <float undef, float 1.000000e+00, float 2.000000e+00, float undef>, <4 x i32> <i32 undef, i32 6, i32 5, i32 3>
43
43
; CHECK-NEXT: [[INS:%.*]] = insertelement <4 x float> [[SHUF]], float 4.000000e+00, i32 0
44
44
; CHECK-NEXT: ret <4 x float> [[INS]]
45
45
;
@@ -52,7 +52,7 @@ define <4 x float> @disguisedSelect(<4 x float> %x) {
52
52
53
53
define <4 x float > @notSelectButNoMaskDifference (<4 x float > %x ) {
54
54
; CHECK-LABEL: @notSelectButNoMaskDifference(
55
- ; CHECK-NEXT: [[SHUF:%.*]] = shufflevector <4 x float> %x , <4 x float> <float undef, float 1.000000e+00, float 2.000000e+00, float undef>, <4 x i32> <i32 1, i32 5, i32 6, i32 undef>
55
+ ; CHECK-NEXT: [[SHUF:%.*]] = shufflevector <4 x float> [[X:%.*]] , <4 x float> <float undef, float 1.000000e+00, float 2.000000e+00, float undef>, <4 x i32> <i32 1, i32 5, i32 6, i32 undef>
56
56
; CHECK-NEXT: [[INS:%.*]] = insertelement <4 x float> [[SHUF]], float 4.000000e+00, i32 3
57
57
; CHECK-NEXT: ret <4 x float> [[INS]]
58
58
;
@@ -65,7 +65,7 @@ define <4 x float> @notSelectButNoMaskDifference(<4 x float> %x) {
65
65
66
66
define <4 x float > @tooRisky (<4 x float > %x ) {
67
67
; CHECK-LABEL: @tooRisky(
68
- ; CHECK-NEXT: [[SHUF:%.*]] = shufflevector <4 x float> %x , <4 x float> <float 1.000000e+00, float undef, float undef, float undef>, <4 x i32> <i32 1, i32 4, i32 4, i32 undef>
68
+ ; CHECK-NEXT: [[SHUF:%.*]] = shufflevector <4 x float> [[X:%.*]] , <4 x float> <float 1.000000e+00, float undef, float undef, float undef>, <4 x i32> <i32 1, i32 4, i32 4, i32 undef>
69
69
; CHECK-NEXT: [[INS:%.*]] = insertelement <4 x float> [[SHUF]], float 4.000000e+00, i32 3
70
70
; CHECK-NEXT: ret <4 x float> [[INS]]
71
71
;
@@ -79,7 +79,7 @@ define <4 x float> @tooRisky(<4 x float> %x) {
79
79
80
80
define <3 x float > @twoShufUses (<3 x float > %x ) {
81
81
; CHECK-LABEL: @twoShufUses(
82
- ; CHECK-NEXT: [[SHUF:%.*]] = shufflevector <3 x float> %x , <3 x float> <float undef, float 1.000000e+00, float 2.000000e+00>, <3 x i32> <i32 0, i32 4, i32 5>
82
+ ; CHECK-NEXT: [[SHUF:%.*]] = shufflevector <3 x float> [[X:%.*]] , <3 x float> <float undef, float 1.000000e+00, float 2.000000e+00>, <3 x i32> <i32 0, i32 4, i32 5>
83
83
; CHECK-NEXT: [[INS:%.*]] = insertelement <3 x float> [[SHUF]], float 4.200000e+01, i2 1
84
84
; CHECK-NEXT: [[ADD:%.*]] = fadd <3 x float> [[SHUF]], [[INS]]
85
85
; CHECK-NEXT: ret <3 x float> [[ADD]]
@@ -94,7 +94,7 @@ define <3 x float> @twoShufUses(<3 x float> %x) {
94
94
95
95
define <5 x i8 > @longerMask (<3 x i8 > %x ) {
96
96
; CHECK-LABEL: @longerMask(
97
- ; CHECK-NEXT: [[SHUF:%.*]] = shufflevector <3 x i8> %x , <3 x i8> <i8 undef, i8 1, i8 undef>, <5 x i32> <i32 2, i32 1, i32 4, i32 undef, i32 undef>
97
+ ; CHECK-NEXT: [[SHUF:%.*]] = shufflevector <3 x i8> [[X:%.*]] , <3 x i8> <i8 undef, i8 1, i8 undef>, <5 x i32> <i32 2, i32 1, i32 4, i32 undef, i32 undef>
98
98
; CHECK-NEXT: [[INS:%.*]] = insertelement <5 x i8> [[SHUF]], i8 42, i17 4
99
99
; CHECK-NEXT: ret <5 x i8> [[INS]]
100
100
;
@@ -107,7 +107,7 @@ define <5 x i8> @longerMask(<3 x i8> %x) {
107
107
108
108
define <3 x i8 > @shorterMask (<5 x i8 > %x ) {
109
109
; CHECK-LABEL: @shorterMask(
110
- ; CHECK-NEXT: [[SHUF:%.*]] = shufflevector <5 x i8> %x , <5 x i8> undef, <3 x i32> <i32 undef, i32 1, i32 4>
110
+ ; CHECK-NEXT: [[SHUF:%.*]] = shufflevector <5 x i8> [[X:%.*]] , <5 x i8> undef, <3 x i32> <i32 undef, i32 1, i32 4>
111
111
; CHECK-NEXT: [[INS:%.*]] = insertelement <3 x i8> [[SHUF]], i8 42, i21 0
112
112
; CHECK-NEXT: ret <3 x i8> [[INS]]
113
113
;
0 commit comments