Skip to content

Commit 2a18162

Browse files
committed
[X86] update shuffle lowering tests to take poison arg instead of undef
1 parent ef86a31 commit 2a18162

12 files changed

+460
-460
lines changed

llvm/test/CodeGen/X86/vector-shuffle-128-v16.ll

Lines changed: 55 additions & 55 deletions
Large diffs are not rendered by default.

llvm/test/CodeGen/X86/vector-shuffle-128-v2.ll

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@ define <2 x double> @shuffle_v2f64_u2(<2 x double> %a, <2 x double> %b) {
300300
; AVX: # %bb.0:
301301
; AVX-NEXT: vmovddup {{.*#+}} xmm0 = xmm1[0,0]
302302
; AVX-NEXT: retq
303-
%shuffle = shufflevector <2 x double> %a, <2 x double> %b, <2 x i32> <i32 undef, i32 2>
303+
%shuffle = shufflevector <2 x double> %a, <2 x double> %b, <2 x i32> <i32 poison, i32 2>
304304
ret <2 x double> %shuffle
305305
}
306306
define <2 x double> @shuffle_v2f64_3u(<2 x double> %a, <2 x double> %b) {
@@ -314,7 +314,7 @@ define <2 x double> @shuffle_v2f64_3u(<2 x double> %a, <2 x double> %b) {
314314
; AVX: # %bb.0:
315315
; AVX-NEXT: vshufpd {{.*#+}} xmm0 = xmm1[1,0]
316316
; AVX-NEXT: retq
317-
%shuffle = shufflevector <2 x double> %a, <2 x double> %b, <2 x i32> <i32 3, i32 undef>
317+
%shuffle = shufflevector <2 x double> %a, <2 x double> %b, <2 x i32> <i32 3, i32 poison>
318318
ret <2 x double> %shuffle
319319
}
320320

@@ -847,7 +847,7 @@ define <2 x double> @shuffle_v2f64_bitcast_1z(<2 x double> %a) {
847847
; AVX-NEXT: retq
848848
%shuffle64 = shufflevector <2 x double> %a, <2 x double> zeroinitializer, <2 x i32> <i32 2, i32 1>
849849
%bitcast32 = bitcast <2 x double> %shuffle64 to <4 x float>
850-
%shuffle32 = shufflevector <4 x float> %bitcast32, <4 x float> undef, <4 x i32> <i32 2, i32 3, i32 0, i32 1>
850+
%shuffle32 = shufflevector <4 x float> %bitcast32, <4 x float> poison, <4 x i32> <i32 2, i32 3, i32 0, i32 1>
851851
%bitcast64 = bitcast <4 x float> %shuffle32 to <2 x double>
852852
ret <2 x double> %bitcast64
853853
}
@@ -880,7 +880,7 @@ define <2 x i64> @shuffle_v2i64_bitcast_z123(<2 x i64> %x) {
880880
; AVX-NEXT: vblendps {{.*#+}} xmm0 = xmm1[0],xmm0[1,2,3]
881881
; AVX-NEXT: retq
882882
%bitcast32 = bitcast <2 x i64> %x to <4 x float>
883-
%shuffle32 = shufflevector <4 x float> %bitcast32, <4 x float> <float 1.000000e+00, float undef, float undef, float undef>, <4 x i32> <i32 4, i32 1, i32 2, i32 3>
883+
%shuffle32 = shufflevector <4 x float> %bitcast32, <4 x float> <float 1.000000e+00, float poison, float poison, float poison>, <4 x i32> <i32 4, i32 1, i32 2, i32 3>
884884
%bitcast64 = bitcast <4 x float> %shuffle32 to <2 x i64>
885885
%and = and <2 x i64> %bitcast64, <i64 -4294967296, i64 -1>
886886
ret <2 x i64> %and
@@ -896,7 +896,7 @@ define <2 x i64> @insert_reg_and_zero_v2i64(i64 %a) {
896896
; AVX: # %bb.0:
897897
; AVX-NEXT: vmovq %rdi, %xmm0
898898
; AVX-NEXT: retq
899-
%v = insertelement <2 x i64> undef, i64 %a, i32 0
899+
%v = insertelement <2 x i64> poison, i64 %a, i32 0
900900
%shuffle = shufflevector <2 x i64> %v, <2 x i64> zeroinitializer, <2 x i32> <i32 0, i32 3>
901901
ret <2 x i64> %shuffle
902902
}
@@ -912,7 +912,7 @@ define <2 x i64> @insert_mem_and_zero_v2i64(ptr %ptr) {
912912
; AVX-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
913913
; AVX-NEXT: retq
914914
%a = load i64, ptr %ptr
915-
%v = insertelement <2 x i64> undef, i64 %a, i32 0
915+
%v = insertelement <2 x i64> poison, i64 %a, i32 0
916916
%shuffle = shufflevector <2 x i64> %v, <2 x i64> zeroinitializer, <2 x i32> <i32 0, i32 3>
917917
ret <2 x i64> %shuffle
918918
}
@@ -927,7 +927,7 @@ define <2 x double> @insert_reg_and_zero_v2f64(double %a) {
927927
; AVX: # %bb.0:
928928
; AVX-NEXT: vmovq {{.*#+}} xmm0 = xmm0[0],zero
929929
; AVX-NEXT: retq
930-
%v = insertelement <2 x double> undef, double %a, i32 0
930+
%v = insertelement <2 x double> poison, double %a, i32 0
931931
%shuffle = shufflevector <2 x double> %v, <2 x double> zeroinitializer, <2 x i32> <i32 0, i32 3>
932932
ret <2 x double> %shuffle
933933
}
@@ -943,7 +943,7 @@ define <2 x double> @insert_mem_and_zero_v2f64(ptr %ptr) {
943943
; AVX-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
944944
; AVX-NEXT: retq
945945
%a = load double, ptr %ptr
946-
%v = insertelement <2 x double> undef, double %a, i32 0
946+
%v = insertelement <2 x double> poison, double %a, i32 0
947947
%shuffle = shufflevector <2 x double> %v, <2 x double> zeroinitializer, <2 x i32> <i32 0, i32 3>
948948
ret <2 x double> %shuffle
949949
}
@@ -976,7 +976,7 @@ define <2 x i64> @insert_reg_lo_v2i64(i64 %a, <2 x i64> %b) {
976976
; AVX: # %bb.0:
977977
; AVX-NEXT: vpinsrq $0, %rdi, %xmm0, %xmm0
978978
; AVX-NEXT: retq
979-
%v = insertelement <2 x i64> undef, i64 %a, i32 0
979+
%v = insertelement <2 x i64> poison, i64 %a, i32 0
980980
%shuffle = shufflevector <2 x i64> %v, <2 x i64> %b, <2 x i32> <i32 0, i32 3>
981981
ret <2 x i64> %shuffle
982982
}
@@ -1007,7 +1007,7 @@ define <2 x i64> @insert_mem_lo_v2i64(ptr %ptr, <2 x i64> %b) {
10071007
; AVX-NEXT: vpinsrq $0, (%rdi), %xmm0, %xmm0
10081008
; AVX-NEXT: retq
10091009
%a = load i64, ptr %ptr
1010-
%v = insertelement <2 x i64> undef, i64 %a, i32 0
1010+
%v = insertelement <2 x i64> poison, i64 %a, i32 0
10111011
%shuffle = shufflevector <2 x i64> %v, <2 x i64> %b, <2 x i32> <i32 0, i32 3>
10121012
ret <2 x i64> %shuffle
10131013
}
@@ -1040,7 +1040,7 @@ define <2 x i64> @insert_reg_hi_v2i64(i64 %a, <2 x i64> %b) {
10401040
; AVX: # %bb.0:
10411041
; AVX-NEXT: vpinsrq $1, %rdi, %xmm0, %xmm0
10421042
; AVX-NEXT: retq
1043-
%v = insertelement <2 x i64> undef, i64 %a, i32 0
1043+
%v = insertelement <2 x i64> poison, i64 %a, i32 0
10441044
%shuffle = shufflevector <2 x i64> %v, <2 x i64> %b, <2 x i32> <i32 2, i32 0>
10451045
ret <2 x i64> %shuffle
10461046
}
@@ -1074,7 +1074,7 @@ define <2 x i64> @insert_mem_hi_v2i64(ptr %ptr, <2 x i64> %b) {
10741074
; AVX-NEXT: vpinsrq $1, (%rdi), %xmm0, %xmm0
10751075
; AVX-NEXT: retq
10761076
%a = load i64, ptr %ptr
1077-
%v = insertelement <2 x i64> undef, i64 %a, i32 0
1077+
%v = insertelement <2 x i64> poison, i64 %a, i32 0
10781078
%shuffle = shufflevector <2 x i64> %v, <2 x i64> %b, <2 x i32> <i32 2, i32 0>
10791079
ret <2 x i64> %shuffle
10801080
}
@@ -1104,7 +1104,7 @@ define <2 x double> @insert_reg_lo_v2f64(double %a, <2 x double> %b) {
11041104
; AVX: # %bb.0:
11051105
; AVX-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]
11061106
; AVX-NEXT: retq
1107-
%v = insertelement <2 x double> undef, double %a, i32 0
1107+
%v = insertelement <2 x double> poison, double %a, i32 0
11081108
%shuffle = shufflevector <2 x double> %v, <2 x double> %b, <2 x i32> <i32 0, i32 3>
11091109
ret <2 x double> %shuffle
11101110
}
@@ -1120,7 +1120,7 @@ define <2 x double> @insert_mem_lo_v2f64(ptr %ptr, <2 x double> %b) {
11201120
; AVX-NEXT: vmovlps {{.*#+}} xmm0 = mem[0,1],xmm0[2,3]
11211121
; AVX-NEXT: retq
11221122
%a = load double, ptr %ptr
1123-
%v = insertelement <2 x double> undef, double %a, i32 0
1123+
%v = insertelement <2 x double> poison, double %a, i32 0
11241124
%shuffle = shufflevector <2 x double> %v, <2 x double> %b, <2 x i32> <i32 0, i32 3>
11251125
ret <2 x double> %shuffle
11261126
}
@@ -1136,7 +1136,7 @@ define <2 x double> @insert_reg_hi_v2f64(double %a, <2 x double> %b) {
11361136
; AVX: # %bb.0:
11371137
; AVX-NEXT: vmovlhps {{.*#+}} xmm0 = xmm1[0],xmm0[0]
11381138
; AVX-NEXT: retq
1139-
%v = insertelement <2 x double> undef, double %a, i32 0
1139+
%v = insertelement <2 x double> poison, double %a, i32 0
11401140
%shuffle = shufflevector <2 x double> %v, <2 x double> %b, <2 x i32> <i32 2, i32 0>
11411141
ret <2 x double> %shuffle
11421142
}
@@ -1152,7 +1152,7 @@ define <2 x double> @insert_mem_hi_v2f64(ptr %ptr, <2 x double> %b) {
11521152
; AVX-NEXT: vmovhps {{.*#+}} xmm0 = xmm0[0,1],mem[0,1]
11531153
; AVX-NEXT: retq
11541154
%a = load double, ptr %ptr
1155-
%v = insertelement <2 x double> undef, double %a, i32 0
1155+
%v = insertelement <2 x double> poison, double %a, i32 0
11561156
%shuffle = shufflevector <2 x double> %v, <2 x double> %b, <2 x i32> <i32 2, i32 0>
11571157
ret <2 x double> %shuffle
11581158
}
@@ -1182,8 +1182,8 @@ define <2 x double> @insert_dup_reg_v2f64(double %a) {
11821182
; AVX: # %bb.0:
11831183
; AVX-NEXT: vmovddup {{.*#+}} xmm0 = xmm0[0,0]
11841184
; AVX-NEXT: retq
1185-
%v = insertelement <2 x double> undef, double %a, i32 0
1186-
%shuffle = shufflevector <2 x double> %v, <2 x double> undef, <2 x i32> <i32 0, i32 0>
1185+
%v = insertelement <2 x double> poison, double %a, i32 0
1186+
%shuffle = shufflevector <2 x double> %v, <2 x double> poison, <2 x i32> <i32 0, i32 0>
11871187
ret <2 x double> %shuffle
11881188
}
11891189

@@ -1214,8 +1214,8 @@ define <2 x double> @insert_dup_mem_v2f64(ptr %ptr) {
12141214
; AVX-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]
12151215
; AVX-NEXT: retq
12161216
%a = load double, ptr %ptr
1217-
%v = insertelement <2 x double> undef, double %a, i32 0
1218-
%shuffle = shufflevector <2 x double> %v, <2 x double> undef, <2 x i32> <i32 0, i32 0>
1217+
%v = insertelement <2 x double> poison, double %a, i32 0
1218+
%shuffle = shufflevector <2 x double> %v, <2 x double> poison, <2 x i32> <i32 0, i32 0>
12191219
ret <2 x double> %shuffle
12201220
}
12211221

@@ -1246,7 +1246,7 @@ define <2 x double> @insert_dup_mem128_v2f64(ptr %ptr) nounwind {
12461246
; AVX-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]
12471247
; AVX-NEXT: retq
12481248
%v = load <2 x double>, ptr %ptr
1249-
%shuffle = shufflevector <2 x double> %v, <2 x double> undef, <2 x i32> <i32 0, i32 0>
1249+
%shuffle = shufflevector <2 x double> %v, <2 x double> poison, <2 x i32> <i32 0, i32 0>
12501250
ret <2 x double> %shuffle
12511251
}
12521252

@@ -1263,8 +1263,8 @@ define <2 x i64> @insert_dup_mem_v2i64(ptr %ptr) {
12631263
; AVX-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]
12641264
; AVX-NEXT: retq
12651265
%tmp = load i64, ptr %ptr, align 1
1266-
%tmp1 = insertelement <2 x i64> undef, i64 %tmp, i32 0
1267-
%tmp2 = shufflevector <2 x i64> %tmp1, <2 x i64> undef, <2 x i32> zeroinitializer
1266+
%tmp1 = insertelement <2 x i64> poison, i64 %tmp, i32 0
1267+
%tmp2 = shufflevector <2 x i64> %tmp1, <2 x i64> poison, <2 x i32> zeroinitializer
12681268
ret <2 x i64> %tmp2
12691269
}
12701270

@@ -1281,7 +1281,7 @@ define <2 x double> @shuffle_mem_v2f64_10(ptr %ptr) {
12811281
; AVX-NEXT: retq
12821282

12831283
%a = load <2 x double>, ptr %ptr
1284-
%shuffle = shufflevector <2 x double> %a, <2 x double> undef, <2 x i32> <i32 1, i32 0>
1284+
%shuffle = shufflevector <2 x double> %a, <2 x double> poison, <2 x i32> <i32 1, i32 0>
12851285
ret <2 x double> %shuffle
12861286
}
12871287

0 commit comments

Comments
 (0)