@@ -4092,13 +4092,13 @@ define <32 x i8> @shuffle_v32i8_56_zz_zz_zz_57_zz_zz_zz_58_zz_zz_zz__zz_59_zz_zz
40924092;
40934093; AVX2-LABEL: shuffle_v32i8_56_zz_zz_zz_57_zz_zz_zz_58_zz_zz_zz__zz_59_zz_zz_zz_60_zz_zz_zz_61_zz_zz_zz_62_zz_zz_zz_63_zz_zz_zz:
40944094; AVX2: # %bb.0:
4095- ; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[2 ,3,2 ,3]
4095+ ; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[3 ,3,3 ,3]
40964096; AVX2-NEXT: vpshufb {{.*#+}} ymm0 = ymm0[8],zero,zero,zero,ymm0[9],zero,zero,zero,ymm0[10],zero,zero,zero,ymm0[11],zero,zero,zero,ymm0[28],zero,zero,zero,ymm0[29],zero,zero,zero,ymm0[30],zero,zero,zero,ymm0[31],zero,zero,zero
40974097; AVX2-NEXT: retq
40984098;
40994099; AVX512VLBW-LABEL: shuffle_v32i8_56_zz_zz_zz_57_zz_zz_zz_58_zz_zz_zz__zz_59_zz_zz_zz_60_zz_zz_zz_61_zz_zz_zz_62_zz_zz_zz_63_zz_zz_zz:
41004100; AVX512VLBW: # %bb.0:
4101- ; AVX512VLBW-NEXT: vpermq {{.*#+}} ymm0 = ymm0[2 ,3,2 ,3]
4101+ ; AVX512VLBW-NEXT: vpermq {{.*#+}} ymm0 = ymm0[3 ,3,3 ,3]
41024102; AVX512VLBW-NEXT: vpshufb {{.*#+}} ymm0 = ymm0[8],zero,zero,zero,ymm0[9],zero,zero,zero,ymm0[10],zero,zero,zero,ymm0[11],zero,zero,zero,ymm0[28],zero,zero,zero,ymm0[29],zero,zero,zero,ymm0[30],zero,zero,zero,ymm0[31],zero,zero,zero
41034103; AVX512VLBW-NEXT: retq
41044104;
@@ -4122,7 +4122,7 @@ define <32 x i8> @shuffle_v32i8_56_zz_zz_zz_57_zz_zz_zz_58_zz_zz_zz__zz_59_zz_zz
41224122;
41234123; XOPAVX2-LABEL: shuffle_v32i8_56_zz_zz_zz_57_zz_zz_zz_58_zz_zz_zz__zz_59_zz_zz_zz_60_zz_zz_zz_61_zz_zz_zz_62_zz_zz_zz_63_zz_zz_zz:
41244124; XOPAVX2: # %bb.0:
4125- ; XOPAVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[2 ,3,2 ,3]
4125+ ; XOPAVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[3 ,3,3 ,3]
41264126; XOPAVX2-NEXT: vpshufb {{.*#+}} ymm0 = ymm0[8],zero,zero,zero,ymm0[9],zero,zero,zero,ymm0[10],zero,zero,zero,ymm0[11],zero,zero,zero,ymm0[28],zero,zero,zero,ymm0[29],zero,zero,zero,ymm0[30],zero,zero,zero,ymm0[31],zero,zero,zero
41274127; XOPAVX2-NEXT: retq
41284128 %shuffle = shufflevector <32 x i8 > zeroinitializer , <32 x i8 > %a , <32 x i32 > <i32 56 , i32 1 , i32 2 , i32 3 , i32 57 , i32 5 , i32 6 , i32 7 , i32 58 , i32 9 , i32 10 , i32 11 , i32 59 , i32 13 , i32 14 , i32 15 , i32 60 , i32 17 , i32 18 , i32 19 , i32 61 , i32 21 , i32 22 , i32 23 , i32 62 , i32 25 , i32 26 , i32 27 , i32 63 , i32 29 , i32 30 , i32 31 >
@@ -5141,26 +5141,11 @@ define <4 x i64> @PR66150(ptr %b) {
51415141; AVX1-NEXT: vshufps {{.*#+}} ymm0 = ymm0[0,0,1,1,4,4,5,5]
51425142; AVX1-NEXT: retq
51435143;
5144- ; AVX2-LABEL: PR66150:
5145- ; AVX2: # %bb.0:
5146- ; AVX2-NEXT: vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero
5147- ; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,1,0,1]
5148- ; AVX2-NEXT: vpshufb {{.*#+}} ymm0 = ymm0[0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19]
5149- ; AVX2-NEXT: retq
5150- ;
5151- ; AVX512VLBW-LABEL: PR66150:
5152- ; AVX512VLBW: # %bb.0:
5153- ; AVX512VLBW-NEXT: vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero
5154- ; AVX512VLBW-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,1,0,1]
5155- ; AVX512VLBW-NEXT: vpshufb {{.*#+}} ymm0 = ymm0[0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19]
5156- ; AVX512VLBW-NEXT: retq
5157- ;
5158- ; AVX512VLVBMI-LABEL: PR66150:
5159- ; AVX512VLVBMI: # %bb.0:
5160- ; AVX512VLVBMI-NEXT: vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero
5161- ; AVX512VLVBMI-NEXT: vmovdqa {{.*#+}} ymm1 = [0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3]
5162- ; AVX512VLVBMI-NEXT: vpermb %ymm0, %ymm1, %ymm0
5163- ; AVX512VLVBMI-NEXT: retq
5144+ ; AVX2OR512VL-LABEL: PR66150:
5145+ ; AVX2OR512VL: # %bb.0:
5146+ ; AVX2OR512VL-NEXT: vpbroadcastd (%rdi), %ymm0
5147+ ; AVX2OR512VL-NEXT: vpshufb {{.*#+}} ymm0 = ymm0[0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19]
5148+ ; AVX2OR512VL-NEXT: retq
51645149;
51655150; XOPAVX1-LABEL: PR66150:
51665151; XOPAVX1: # %bb.0:
@@ -5174,8 +5159,7 @@ define <4 x i64> @PR66150(ptr %b) {
51745159;
51755160; XOPAVX2-LABEL: PR66150:
51765161; XOPAVX2: # %bb.0:
5177- ; XOPAVX2-NEXT: vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero
5178- ; XOPAVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,1,0,1]
5162+ ; XOPAVX2-NEXT: vpbroadcastd (%rdi), %ymm0
51795163; XOPAVX2-NEXT: vpshufb {{.*#+}} ymm0 = ymm0[0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19]
51805164; XOPAVX2-NEXT: retq
51815165 %tmp1 = load i32 , ptr %b , align 4
0 commit comments