@@ -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
4092
4092
;
4093
4093
; 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:
4094
4094
; AVX2: # %bb.0:
4095
- ; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[2 ,3,2 ,3]
4095
+ ; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[3 ,3,3 ,3]
4096
4096
; 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
4097
4097
; AVX2-NEXT: retq
4098
4098
;
4099
4099
; 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:
4100
4100
; AVX512VLBW: # %bb.0:
4101
- ; AVX512VLBW-NEXT: vpermq {{.*#+}} ymm0 = ymm0[2 ,3,2 ,3]
4101
+ ; AVX512VLBW-NEXT: vpermq {{.*#+}} ymm0 = ymm0[3 ,3,3 ,3]
4102
4102
; 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
4103
4103
; AVX512VLBW-NEXT: retq
4104
4104
;
@@ -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
4122
4122
;
4123
4123
; 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:
4124
4124
; XOPAVX2: # %bb.0:
4125
- ; XOPAVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[2 ,3,2 ,3]
4125
+ ; XOPAVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[3 ,3,3 ,3]
4126
4126
; 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
4127
4127
; XOPAVX2-NEXT: retq
4128
4128
%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) {
5141
5141
; AVX1-NEXT: vshufps {{.*#+}} ymm0 = ymm0[0,0,1,1,4,4,5,5]
5142
5142
; AVX1-NEXT: retq
5143
5143
;
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
5164
5149
;
5165
5150
; XOPAVX1-LABEL: PR66150:
5166
5151
; XOPAVX1: # %bb.0:
@@ -5174,8 +5159,7 @@ define <4 x i64> @PR66150(ptr %b) {
5174
5159
;
5175
5160
; XOPAVX2-LABEL: PR66150:
5176
5161
; 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
5179
5163
; 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]
5180
5164
; XOPAVX2-NEXT: retq
5181
5165
%tmp1 = load i32 , ptr %b , align 4
0 commit comments