@@ -4242,33 +4242,31 @@ define void @vec384_i32_widen_to_i64_factor2_broadcast_to_v6i64_factor6(ptr %in.
4242
4242
; AVX512F: # %bb.0:
4243
4243
; AVX512F-NEXT: vmovdqa (%rdi), %ymm0
4244
4244
; AVX512F-NEXT: vmovdqa 32(%rdi), %ymm1
4245
- ; AVX512F-NEXT: vpaddb 32(%rsi), %ymm1, %ymm1
4246
4245
; AVX512F-NEXT: vpaddb (%rsi), %ymm0, %ymm0
4247
- ; AVX512F-NEXT: vinserti64x4 $1 , %ymm1, %zmm0, %zmm0
4248
- ; AVX512F-NEXT: vpmovsxbd {{.*#+}} xmm1 = [0,13 ,0,15 ]
4249
- ; AVX512F-NEXT: vpermd %zmm0 , %zmm1 , %zmm0
4250
- ; AVX512F-NEXT: vextracti64x4 $1, %zmm0 , %ymm1
4251
- ; AVX512F-NEXT: vpaddb 32(%rdx), %ymm1 , %ymm1
4252
- ; AVX512F-NEXT: vpaddb (%rdx), %ymm0 , %ymm0
4253
- ; AVX512F-NEXT: vmovdqa %ymm0 , (%rcx)
4254
- ; AVX512F-NEXT: vmovdqa %ymm1 , 32(%rcx)
4246
+ ; AVX512F-NEXT: vpaddb 32(%rsi) , %ymm1, %ymm1
4247
+ ; AVX512F-NEXT: vpmovsxbd {{.*#+}} xmm2 = [0,21 ,0,23 ]
4248
+ ; AVX512F-NEXT: vpermi2d %zmm1 , %zmm0 , %zmm2
4249
+ ; AVX512F-NEXT: vextracti64x4 $1, %zmm2 , %ymm0
4250
+ ; AVX512F-NEXT: vpaddb 32(%rdx), %ymm0 , %ymm0
4251
+ ; AVX512F-NEXT: vpaddb (%rdx), %ymm2 , %ymm1
4252
+ ; AVX512F-NEXT: vmovdqa %ymm1 , (%rcx)
4253
+ ; AVX512F-NEXT: vmovdqa %ymm0 , 32(%rcx)
4255
4254
; AVX512F-NEXT: vzeroupper
4256
4255
; AVX512F-NEXT: retq
4257
4256
;
4258
4257
; AVX512DQ-LABEL: vec384_i32_widen_to_i64_factor2_broadcast_to_v6i64_factor6:
4259
4258
; AVX512DQ: # %bb.0:
4260
4259
; AVX512DQ-NEXT: vmovdqa (%rdi), %ymm0
4261
4260
; AVX512DQ-NEXT: vmovdqa 32(%rdi), %ymm1
4262
- ; AVX512DQ-NEXT: vpaddb 32(%rsi), %ymm1, %ymm1
4263
4261
; AVX512DQ-NEXT: vpaddb (%rsi), %ymm0, %ymm0
4264
- ; AVX512DQ-NEXT: vinserti64x4 $1 , %ymm1, %zmm0, %zmm0
4265
- ; AVX512DQ-NEXT: vpmovsxbd {{.*#+}} xmm1 = [0,13 ,0,15 ]
4266
- ; AVX512DQ-NEXT: vpermd %zmm0 , %zmm1 , %zmm0
4267
- ; AVX512DQ-NEXT: vextracti64x4 $1, %zmm0 , %ymm1
4268
- ; AVX512DQ-NEXT: vpaddb 32(%rdx), %ymm1 , %ymm1
4269
- ; AVX512DQ-NEXT: vpaddb (%rdx), %ymm0 , %ymm0
4270
- ; AVX512DQ-NEXT: vmovdqa %ymm0 , (%rcx)
4271
- ; AVX512DQ-NEXT: vmovdqa %ymm1 , 32(%rcx)
4262
+ ; AVX512DQ-NEXT: vpaddb 32(%rsi) , %ymm1, %ymm1
4263
+ ; AVX512DQ-NEXT: vpmovsxbd {{.*#+}} xmm2 = [0,21 ,0,23 ]
4264
+ ; AVX512DQ-NEXT: vpermi2d %zmm1 , %zmm0 , %zmm2
4265
+ ; AVX512DQ-NEXT: vextracti64x4 $1, %zmm2 , %ymm0
4266
+ ; AVX512DQ-NEXT: vpaddb 32(%rdx), %ymm0 , %ymm0
4267
+ ; AVX512DQ-NEXT: vpaddb (%rdx), %ymm2 , %ymm1
4268
+ ; AVX512DQ-NEXT: vmovdqa %ymm1 , (%rcx)
4269
+ ; AVX512DQ-NEXT: vmovdqa %ymm0 , 32(%rcx)
4272
4270
; AVX512DQ-NEXT: vzeroupper
4273
4271
; AVX512DQ-NEXT: retq
4274
4272
;
@@ -4371,33 +4369,31 @@ define void @vec384_i32_widen_to_i96_factor3_broadcast_to_v4i96_factor4(ptr %in.
4371
4369
; AVX512F: # %bb.0:
4372
4370
; AVX512F-NEXT: vmovdqa (%rdi), %ymm0
4373
4371
; AVX512F-NEXT: vmovdqa 32(%rdi), %ymm1
4374
- ; AVX512F-NEXT: vpaddb 32(%rsi), %ymm1, %ymm1
4375
4372
; AVX512F-NEXT: vpaddb (%rsi), %ymm0, %ymm0
4376
- ; AVX512F-NEXT: vinserti64x4 $1 , %ymm1, %zmm0, %zmm0
4377
- ; AVX512F-NEXT: vpmovsxbd {{.*#+}} xmm1 = [0,13,14 ,0]
4378
- ; AVX512F-NEXT: vpermd %zmm0 , %zmm1 , %zmm0
4379
- ; AVX512F-NEXT: vextracti64x4 $1, %zmm0 , %ymm1
4380
- ; AVX512F-NEXT: vpaddb 32(%rdx), %ymm1 , %ymm1
4381
- ; AVX512F-NEXT: vpaddb (%rdx), %ymm0 , %ymm0
4382
- ; AVX512F-NEXT: vmovdqa %ymm0 , (%rcx)
4383
- ; AVX512F-NEXT: vmovdqa %ymm1 , 32(%rcx)
4373
+ ; AVX512F-NEXT: vpaddb 32(%rsi) , %ymm1, %ymm1
4374
+ ; AVX512F-NEXT: vpmovsxbd {{.*#+}} xmm2 = [0,21,22 ,0]
4375
+ ; AVX512F-NEXT: vpermi2d %zmm1 , %zmm0 , %zmm2
4376
+ ; AVX512F-NEXT: vextracti64x4 $1, %zmm2 , %ymm0
4377
+ ; AVX512F-NEXT: vpaddb 32(%rdx), %ymm0 , %ymm0
4378
+ ; AVX512F-NEXT: vpaddb (%rdx), %ymm2 , %ymm1
4379
+ ; AVX512F-NEXT: vmovdqa %ymm1 , (%rcx)
4380
+ ; AVX512F-NEXT: vmovdqa %ymm0 , 32(%rcx)
4384
4381
; AVX512F-NEXT: vzeroupper
4385
4382
; AVX512F-NEXT: retq
4386
4383
;
4387
4384
; AVX512DQ-LABEL: vec384_i32_widen_to_i96_factor3_broadcast_to_v4i96_factor4:
4388
4385
; AVX512DQ: # %bb.0:
4389
4386
; AVX512DQ-NEXT: vmovdqa (%rdi), %ymm0
4390
4387
; AVX512DQ-NEXT: vmovdqa 32(%rdi), %ymm1
4391
- ; AVX512DQ-NEXT: vpaddb 32(%rsi), %ymm1, %ymm1
4392
4388
; AVX512DQ-NEXT: vpaddb (%rsi), %ymm0, %ymm0
4393
- ; AVX512DQ-NEXT: vinserti64x4 $1 , %ymm1, %zmm0, %zmm0
4394
- ; AVX512DQ-NEXT: vpmovsxbd {{.*#+}} xmm1 = [0,13,14 ,0]
4395
- ; AVX512DQ-NEXT: vpermd %zmm0 , %zmm1 , %zmm0
4396
- ; AVX512DQ-NEXT: vextracti64x4 $1, %zmm0 , %ymm1
4397
- ; AVX512DQ-NEXT: vpaddb 32(%rdx), %ymm1 , %ymm1
4398
- ; AVX512DQ-NEXT: vpaddb (%rdx), %ymm0 , %ymm0
4399
- ; AVX512DQ-NEXT: vmovdqa %ymm0 , (%rcx)
4400
- ; AVX512DQ-NEXT: vmovdqa %ymm1 , 32(%rcx)
4389
+ ; AVX512DQ-NEXT: vpaddb 32(%rsi) , %ymm1, %ymm1
4390
+ ; AVX512DQ-NEXT: vpmovsxbd {{.*#+}} xmm2 = [0,21,22 ,0]
4391
+ ; AVX512DQ-NEXT: vpermi2d %zmm1 , %zmm0 , %zmm2
4392
+ ; AVX512DQ-NEXT: vextracti64x4 $1, %zmm2 , %ymm0
4393
+ ; AVX512DQ-NEXT: vpaddb 32(%rdx), %ymm0 , %ymm0
4394
+ ; AVX512DQ-NEXT: vpaddb (%rdx), %ymm2 , %ymm1
4395
+ ; AVX512DQ-NEXT: vmovdqa %ymm1 , (%rcx)
4396
+ ; AVX512DQ-NEXT: vmovdqa %ymm0 , 32(%rcx)
4401
4397
; AVX512DQ-NEXT: vzeroupper
4402
4398
; AVX512DQ-NEXT: retq
4403
4399
;
@@ -4508,33 +4504,31 @@ define void @vec384_i32_widen_to_i128_factor4_broadcast_to_v3i128_factor3(ptr %i
4508
4504
; AVX512F: # %bb.0:
4509
4505
; AVX512F-NEXT: vmovdqa (%rdi), %ymm0
4510
4506
; AVX512F-NEXT: vmovdqa 32(%rdi), %ymm1
4511
- ; AVX512F-NEXT: vpaddb 32(%rsi), %ymm1, %ymm1
4512
4507
; AVX512F-NEXT: vpaddb (%rsi), %ymm0, %ymm0
4513
- ; AVX512F-NEXT: vinserti64x4 $1 , %ymm1, %zmm0, %zmm0
4514
- ; AVX512F-NEXT: vpmovsxbd {{.*#+}} xmm1 = [0,13,14,15 ]
4515
- ; AVX512F-NEXT: vpermd %zmm0 , %zmm1 , %zmm0
4516
- ; AVX512F-NEXT: vextracti64x4 $1, %zmm0 , %ymm1
4517
- ; AVX512F-NEXT: vpaddb 32(%rdx), %ymm1 , %ymm1
4518
- ; AVX512F-NEXT: vpaddb (%rdx), %ymm0 , %ymm0
4519
- ; AVX512F-NEXT: vmovdqa %ymm0 , (%rcx)
4520
- ; AVX512F-NEXT: vmovdqa %ymm1 , 32(%rcx)
4508
+ ; AVX512F-NEXT: vpaddb 32(%rsi) , %ymm1, %ymm1
4509
+ ; AVX512F-NEXT: vpmovsxbd {{.*#+}} xmm2 = [0,21,22,23 ]
4510
+ ; AVX512F-NEXT: vpermi2d %zmm1 , %zmm0 , %zmm2
4511
+ ; AVX512F-NEXT: vextracti64x4 $1, %zmm2 , %ymm0
4512
+ ; AVX512F-NEXT: vpaddb 32(%rdx), %ymm0 , %ymm0
4513
+ ; AVX512F-NEXT: vpaddb (%rdx), %ymm2 , %ymm1
4514
+ ; AVX512F-NEXT: vmovdqa %ymm1 , (%rcx)
4515
+ ; AVX512F-NEXT: vmovdqa %ymm0 , 32(%rcx)
4521
4516
; AVX512F-NEXT: vzeroupper
4522
4517
; AVX512F-NEXT: retq
4523
4518
;
4524
4519
; AVX512DQ-LABEL: vec384_i32_widen_to_i128_factor4_broadcast_to_v3i128_factor3:
4525
4520
; AVX512DQ: # %bb.0:
4526
4521
; AVX512DQ-NEXT: vmovdqa (%rdi), %ymm0
4527
4522
; AVX512DQ-NEXT: vmovdqa 32(%rdi), %ymm1
4528
- ; AVX512DQ-NEXT: vpaddb 32(%rsi), %ymm1, %ymm1
4529
4523
; AVX512DQ-NEXT: vpaddb (%rsi), %ymm0, %ymm0
4530
- ; AVX512DQ-NEXT: vinserti64x4 $1 , %ymm1, %zmm0, %zmm0
4531
- ; AVX512DQ-NEXT: vpmovsxbd {{.*#+}} xmm1 = [0,13,14,15 ]
4532
- ; AVX512DQ-NEXT: vpermd %zmm0 , %zmm1 , %zmm0
4533
- ; AVX512DQ-NEXT: vextracti64x4 $1, %zmm0 , %ymm1
4534
- ; AVX512DQ-NEXT: vpaddb 32(%rdx), %ymm1 , %ymm1
4535
- ; AVX512DQ-NEXT: vpaddb (%rdx), %ymm0 , %ymm0
4536
- ; AVX512DQ-NEXT: vmovdqa %ymm0 , (%rcx)
4537
- ; AVX512DQ-NEXT: vmovdqa %ymm1 , 32(%rcx)
4524
+ ; AVX512DQ-NEXT: vpaddb 32(%rsi) , %ymm1, %ymm1
4525
+ ; AVX512DQ-NEXT: vpmovsxbd {{.*#+}} xmm2 = [0,21,22,23 ]
4526
+ ; AVX512DQ-NEXT: vpermi2d %zmm1 , %zmm0 , %zmm2
4527
+ ; AVX512DQ-NEXT: vextracti64x4 $1, %zmm2 , %ymm0
4528
+ ; AVX512DQ-NEXT: vpaddb 32(%rdx), %ymm0 , %ymm0
4529
+ ; AVX512DQ-NEXT: vpaddb (%rdx), %ymm2 , %ymm1
4530
+ ; AVX512DQ-NEXT: vmovdqa %ymm1 , (%rcx)
4531
+ ; AVX512DQ-NEXT: vmovdqa %ymm0 , 32(%rcx)
4538
4532
; AVX512DQ-NEXT: vzeroupper
4539
4533
; AVX512DQ-NEXT: retq
4540
4534
;
@@ -4636,12 +4630,11 @@ define void @vec384_i32_widen_to_i192_factor6_broadcast_to_v2i192_factor2(ptr %i
4636
4630
; AVX512F: # %bb.0:
4637
4631
; AVX512F-NEXT: vmovdqa (%rdi), %ymm0
4638
4632
; AVX512F-NEXT: vmovdqa 32(%rdi), %ymm1
4639
- ; AVX512F-NEXT: vpaddb 32(%rsi), %ymm1, %ymm1
4640
4633
; AVX512F-NEXT: vpaddb (%rsi), %ymm0, %ymm0
4641
- ; AVX512F-NEXT: vinserti64x4 $1 , %ymm1, %zmm0, %zmm0
4642
- ; AVX512F-NEXT: vpmovsxbd {{.*#+}} xmm1 = [0,13,14,15 ]
4643
- ; AVX512F-NEXT: vpermd %zmm0 , %zmm1 , %zmm0
4644
- ; AVX512F-NEXT: vpaddb (%rdx), %ymm0 , %ymm0
4634
+ ; AVX512F-NEXT: vpaddb 32(%rsi) , %ymm1, %ymm1
4635
+ ; AVX512F-NEXT: vpmovsxbd {{.*#+}} xmm2 = [0,21,22,23 ]
4636
+ ; AVX512F-NEXT: vpermi2d %zmm1 , %zmm0 , %zmm2
4637
+ ; AVX512F-NEXT: vpaddb (%rdx), %ymm2 , %ymm0
4645
4638
; AVX512F-NEXT: vmovdqa %ymm0, (%rcx)
4646
4639
; AVX512F-NEXT: vzeroupper
4647
4640
; AVX512F-NEXT: retq
@@ -4650,12 +4643,11 @@ define void @vec384_i32_widen_to_i192_factor6_broadcast_to_v2i192_factor2(ptr %i
4650
4643
; AVX512DQ: # %bb.0:
4651
4644
; AVX512DQ-NEXT: vmovdqa (%rdi), %ymm0
4652
4645
; AVX512DQ-NEXT: vmovdqa 32(%rdi), %ymm1
4653
- ; AVX512DQ-NEXT: vpaddb 32(%rsi), %ymm1, %ymm1
4654
4646
; AVX512DQ-NEXT: vpaddb (%rsi), %ymm0, %ymm0
4655
- ; AVX512DQ-NEXT: vinserti64x4 $1 , %ymm1, %zmm0, %zmm0
4656
- ; AVX512DQ-NEXT: vpmovsxbd {{.*#+}} xmm1 = [0,13,14,15 ]
4657
- ; AVX512DQ-NEXT: vpermd %zmm0 , %zmm1 , %zmm0
4658
- ; AVX512DQ-NEXT: vpaddb (%rdx), %ymm0 , %ymm0
4647
+ ; AVX512DQ-NEXT: vpaddb 32(%rsi) , %ymm1, %ymm1
4648
+ ; AVX512DQ-NEXT: vpmovsxbd {{.*#+}} xmm2 = [0,21,22,23 ]
4649
+ ; AVX512DQ-NEXT: vpermi2d %zmm1 , %zmm0 , %zmm2
4650
+ ; AVX512DQ-NEXT: vpaddb (%rdx), %ymm2 , %ymm0
4659
4651
; AVX512DQ-NEXT: vmovdqa %ymm0, (%rcx)
4660
4652
; AVX512DQ-NEXT: vzeroupper
4661
4653
; AVX512DQ-NEXT: retq
@@ -4769,33 +4761,31 @@ define void @vec384_i64_widen_to_i128_factor2_broadcast_to_v3i128_factor3(ptr %i
4769
4761
; AVX512F: # %bb.0:
4770
4762
; AVX512F-NEXT: vmovdqa (%rdi), %ymm0
4771
4763
; AVX512F-NEXT: vmovdqa 32(%rdi), %ymm1
4772
- ; AVX512F-NEXT: vpaddb 32(%rsi), %ymm1, %ymm1
4773
4764
; AVX512F-NEXT: vpaddb (%rsi), %ymm0, %ymm0
4774
- ; AVX512F-NEXT: vinserti64x4 $1 , %ymm1, %zmm0, %zmm0
4775
- ; AVX512F-NEXT: vpmovsxbq {{.*#+}} xmm1 = [0,7 ]
4776
- ; AVX512F-NEXT: vpermq %zmm0 , %zmm1 , %zmm0
4777
- ; AVX512F-NEXT: vextracti64x4 $1, %zmm0 , %ymm1
4778
- ; AVX512F-NEXT: vpaddb 32(%rdx), %ymm1 , %ymm1
4779
- ; AVX512F-NEXT: vpaddb (%rdx), %ymm0 , %ymm0
4780
- ; AVX512F-NEXT: vmovdqa %ymm0 , (%rcx)
4781
- ; AVX512F-NEXT: vmovdqa %ymm1 , 32(%rcx)
4765
+ ; AVX512F-NEXT: vpaddb 32(%rsi) , %ymm1, %ymm1
4766
+ ; AVX512F-NEXT: vpmovsxbq {{.*#+}} xmm2 = [0,11 ]
4767
+ ; AVX512F-NEXT: vpermi2q %zmm1 , %zmm0 , %zmm2
4768
+ ; AVX512F-NEXT: vextracti64x4 $1, %zmm2 , %ymm0
4769
+ ; AVX512F-NEXT: vpaddb 32(%rdx), %ymm0 , %ymm0
4770
+ ; AVX512F-NEXT: vpaddb (%rdx), %ymm2 , %ymm1
4771
+ ; AVX512F-NEXT: vmovdqa %ymm1 , (%rcx)
4772
+ ; AVX512F-NEXT: vmovdqa %ymm0 , 32(%rcx)
4782
4773
; AVX512F-NEXT: vzeroupper
4783
4774
; AVX512F-NEXT: retq
4784
4775
;
4785
4776
; AVX512DQ-LABEL: vec384_i64_widen_to_i128_factor2_broadcast_to_v3i128_factor3:
4786
4777
; AVX512DQ: # %bb.0:
4787
4778
; AVX512DQ-NEXT: vmovdqa (%rdi), %ymm0
4788
4779
; AVX512DQ-NEXT: vmovdqa 32(%rdi), %ymm1
4789
- ; AVX512DQ-NEXT: vpaddb 32(%rsi), %ymm1, %ymm1
4790
4780
; AVX512DQ-NEXT: vpaddb (%rsi), %ymm0, %ymm0
4791
- ; AVX512DQ-NEXT: vinserti64x4 $1 , %ymm1, %zmm0, %zmm0
4792
- ; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} xmm1 = [0,7 ]
4793
- ; AVX512DQ-NEXT: vpermq %zmm0 , %zmm1 , %zmm0
4794
- ; AVX512DQ-NEXT: vextracti64x4 $1, %zmm0 , %ymm1
4795
- ; AVX512DQ-NEXT: vpaddb 32(%rdx), %ymm1 , %ymm1
4796
- ; AVX512DQ-NEXT: vpaddb (%rdx), %ymm0 , %ymm0
4797
- ; AVX512DQ-NEXT: vmovdqa %ymm0 , (%rcx)
4798
- ; AVX512DQ-NEXT: vmovdqa %ymm1 , 32(%rcx)
4781
+ ; AVX512DQ-NEXT: vpaddb 32(%rsi) , %ymm1, %ymm1
4782
+ ; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} xmm2 = [0,11 ]
4783
+ ; AVX512DQ-NEXT: vpermi2q %zmm1 , %zmm0 , %zmm2
4784
+ ; AVX512DQ-NEXT: vextracti64x4 $1, %zmm2 , %ymm0
4785
+ ; AVX512DQ-NEXT: vpaddb 32(%rdx), %ymm0 , %ymm0
4786
+ ; AVX512DQ-NEXT: vpaddb (%rdx), %ymm2 , %ymm1
4787
+ ; AVX512DQ-NEXT: vmovdqa %ymm1 , (%rcx)
4788
+ ; AVX512DQ-NEXT: vmovdqa %ymm0 , 32(%rcx)
4799
4789
; AVX512DQ-NEXT: vzeroupper
4800
4790
; AVX512DQ-NEXT: retq
4801
4791
;
@@ -4898,12 +4888,11 @@ define void @vec384_i64_widen_to_i192_factor3_broadcast_to_v2i192_factor2(ptr %i
4898
4888
; AVX512F: # %bb.0:
4899
4889
; AVX512F-NEXT: vmovdqa (%rdi), %ymm0
4900
4890
; AVX512F-NEXT: vmovdqa 32(%rdi), %ymm1
4901
- ; AVX512F-NEXT: vpaddb 32(%rsi), %ymm1, %ymm1
4902
4891
; AVX512F-NEXT: vpaddb (%rsi), %ymm0, %ymm0
4903
- ; AVX512F-NEXT: vinserti64x4 $1 , %ymm1, %zmm0, %zmm0
4904
- ; AVX512F-NEXT: vpmovsxbq {{.*#+}} xmm1 = [0,7 ]
4905
- ; AVX512F-NEXT: vpermq %zmm0 , %zmm1 , %zmm0
4906
- ; AVX512F-NEXT: vpaddb (%rdx), %ymm0 , %ymm0
4892
+ ; AVX512F-NEXT: vpaddb 32(%rsi) , %ymm1, %ymm1
4893
+ ; AVX512F-NEXT: vpmovsxbq {{.*#+}} xmm2 = [0,11 ]
4894
+ ; AVX512F-NEXT: vpermi2q %zmm1 , %zmm0 , %zmm2
4895
+ ; AVX512F-NEXT: vpaddb (%rdx), %ymm2 , %ymm0
4907
4896
; AVX512F-NEXT: vmovdqa %ymm0, (%rcx)
4908
4897
; AVX512F-NEXT: vzeroupper
4909
4898
; AVX512F-NEXT: retq
@@ -4912,12 +4901,11 @@ define void @vec384_i64_widen_to_i192_factor3_broadcast_to_v2i192_factor2(ptr %i
4912
4901
; AVX512DQ: # %bb.0:
4913
4902
; AVX512DQ-NEXT: vmovdqa (%rdi), %ymm0
4914
4903
; AVX512DQ-NEXT: vmovdqa 32(%rdi), %ymm1
4915
- ; AVX512DQ-NEXT: vpaddb 32(%rsi), %ymm1, %ymm1
4916
4904
; AVX512DQ-NEXT: vpaddb (%rsi), %ymm0, %ymm0
4917
- ; AVX512DQ-NEXT: vinserti64x4 $1 , %ymm1, %zmm0, %zmm0
4918
- ; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} xmm1 = [0,7 ]
4919
- ; AVX512DQ-NEXT: vpermq %zmm0 , %zmm1 , %zmm0
4920
- ; AVX512DQ-NEXT: vpaddb (%rdx), %ymm0 , %ymm0
4905
+ ; AVX512DQ-NEXT: vpaddb 32(%rsi) , %ymm1, %ymm1
4906
+ ; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} xmm2 = [0,11 ]
4907
+ ; AVX512DQ-NEXT: vpermi2q %zmm1 , %zmm0 , %zmm2
4908
+ ; AVX512DQ-NEXT: vpaddb (%rdx), %ymm2 , %ymm0
4921
4909
; AVX512DQ-NEXT: vmovdqa %ymm0, (%rcx)
4922
4910
; AVX512DQ-NEXT: vzeroupper
4923
4911
; AVX512DQ-NEXT: retq
0 commit comments