@@ -4808,16 +4808,9 @@ define <16 x float> @test_gather_structpt_16f32_mask_index(ptr %x, ptr %arr, <16
4808
4808
; X64-KNL-NEXT: vptestmd %zmm0, %zmm0, %k1
4809
4809
; X64-KNL-NEXT: vmovdqu64 (%rsi), %zmm0
4810
4810
; X64-KNL-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm0, %zmm0
4811
- ; X64-KNL-NEXT: vextracti64x4 $1, %zmm0, %ymm2
4812
- ; X64-KNL-NEXT: vpmovzxdq {{.*#+}} zmm2 = ymm2[0],zero,ymm2[1],zero,ymm2[2],zero,ymm2[3],zero,ymm2[4],zero,ymm2[5],zero,ymm2[6],zero,ymm2[7],zero
4813
- ; X64-KNL-NEXT: vpmovzxdq {{.*#+}} zmm0 = ymm0[0],zero,ymm0[1],zero,ymm0[2],zero,ymm0[3],zero,ymm0[4],zero,ymm0[5],zero,ymm0[6],zero,ymm0[7],zero
4814
- ; X64-KNL-NEXT: vpsllq $4, %zmm0, %zmm0
4815
- ; X64-KNL-NEXT: vpsllq $4, %zmm2, %zmm2
4816
- ; X64-KNL-NEXT: vextractf64x4 $1, %zmm1, %ymm3
4817
- ; X64-KNL-NEXT: kshiftrw $8, %k1, %k2
4818
- ; X64-KNL-NEXT: vgatherqps (%rdi,%zmm2), %ymm3 {%k2}
4819
- ; X64-KNL-NEXT: vgatherqps (%rdi,%zmm0), %ymm1 {%k1}
4820
- ; X64-KNL-NEXT: vinsertf64x4 $1, %ymm3, %zmm1, %zmm0
4811
+ ; X64-KNL-NEXT: vpaddd %zmm0, %zmm0, %zmm0
4812
+ ; X64-KNL-NEXT: vgatherdps (%rdi,%zmm0,8), %zmm1 {%k1}
4813
+ ; X64-KNL-NEXT: vmovaps %zmm1, %zmm0
4821
4814
; X64-KNL-NEXT: retq
4822
4815
;
4823
4816
; X86-KNL-LABEL: test_gather_structpt_16f32_mask_index:
@@ -4839,16 +4832,9 @@ define <16 x float> @test_gather_structpt_16f32_mask_index(ptr %x, ptr %arr, <16
4839
4832
; X64-SKX-SMALL-NEXT: vpmovd2m %zmm0, %k1
4840
4833
; X64-SKX-SMALL-NEXT: vmovdqu64 (%rsi), %zmm0
4841
4834
; X64-SKX-SMALL-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm0, %zmm0
4842
- ; X64-SKX-SMALL-NEXT: vextracti64x4 $1, %zmm0, %ymm2
4843
- ; X64-SKX-SMALL-NEXT: vpmovzxdq {{.*#+}} zmm2 = ymm2[0],zero,ymm2[1],zero,ymm2[2],zero,ymm2[3],zero,ymm2[4],zero,ymm2[5],zero,ymm2[6],zero,ymm2[7],zero
4844
- ; X64-SKX-SMALL-NEXT: vpmovzxdq {{.*#+}} zmm0 = ymm0[0],zero,ymm0[1],zero,ymm0[2],zero,ymm0[3],zero,ymm0[4],zero,ymm0[5],zero,ymm0[6],zero,ymm0[7],zero
4845
- ; X64-SKX-SMALL-NEXT: vpsllq $4, %zmm0, %zmm0
4846
- ; X64-SKX-SMALL-NEXT: vpsllq $4, %zmm2, %zmm2
4847
- ; X64-SKX-SMALL-NEXT: vextractf64x4 $1, %zmm1, %ymm3
4848
- ; X64-SKX-SMALL-NEXT: kshiftrw $8, %k1, %k2
4849
- ; X64-SKX-SMALL-NEXT: vgatherqps (%rdi,%zmm2), %ymm3 {%k2}
4850
- ; X64-SKX-SMALL-NEXT: vgatherqps (%rdi,%zmm0), %ymm1 {%k1}
4851
- ; X64-SKX-SMALL-NEXT: vinsertf64x4 $1, %ymm3, %zmm1, %zmm0
4835
+ ; X64-SKX-SMALL-NEXT: vpaddd %zmm0, %zmm0, %zmm0
4836
+ ; X64-SKX-SMALL-NEXT: vgatherdps (%rdi,%zmm0,8), %zmm1 {%k1}
4837
+ ; X64-SKX-SMALL-NEXT: vmovaps %zmm1, %zmm0
4852
4838
; X64-SKX-SMALL-NEXT: retq
4853
4839
;
4854
4840
; X64-SKX-LARGE-LABEL: test_gather_structpt_16f32_mask_index:
@@ -4859,16 +4845,9 @@ define <16 x float> @test_gather_structpt_16f32_mask_index(ptr %x, ptr %arr, <16
4859
4845
; X64-SKX-LARGE-NEXT: vmovdqu64 (%rsi), %zmm0
4860
4846
; X64-SKX-LARGE-NEXT: movabsq ${{\.?LCPI[0-9]+_[0-9]+}}, %rax
4861
4847
; X64-SKX-LARGE-NEXT: vpandd (%rax){1to16}, %zmm0, %zmm0
4862
- ; X64-SKX-LARGE-NEXT: vextracti64x4 $1, %zmm0, %ymm2
4863
- ; X64-SKX-LARGE-NEXT: vpmovzxdq {{.*#+}} zmm2 = ymm2[0],zero,ymm2[1],zero,ymm2[2],zero,ymm2[3],zero,ymm2[4],zero,ymm2[5],zero,ymm2[6],zero,ymm2[7],zero
4864
- ; X64-SKX-LARGE-NEXT: vpmovzxdq {{.*#+}} zmm0 = ymm0[0],zero,ymm0[1],zero,ymm0[2],zero,ymm0[3],zero,ymm0[4],zero,ymm0[5],zero,ymm0[6],zero,ymm0[7],zero
4865
- ; X64-SKX-LARGE-NEXT: vpsllq $4, %zmm0, %zmm0
4866
- ; X64-SKX-LARGE-NEXT: vpsllq $4, %zmm2, %zmm2
4867
- ; X64-SKX-LARGE-NEXT: vextractf64x4 $1, %zmm1, %ymm3
4868
- ; X64-SKX-LARGE-NEXT: kshiftrw $8, %k1, %k2
4869
- ; X64-SKX-LARGE-NEXT: vgatherqps (%rdi,%zmm2), %ymm3 {%k2}
4870
- ; X64-SKX-LARGE-NEXT: vgatherqps (%rdi,%zmm0), %ymm1 {%k1}
4871
- ; X64-SKX-LARGE-NEXT: vinsertf64x4 $1, %ymm3, %zmm1, %zmm0
4848
+ ; X64-SKX-LARGE-NEXT: vpaddd %zmm0, %zmm0, %zmm0
4849
+ ; X64-SKX-LARGE-NEXT: vgatherdps (%rdi,%zmm0,8), %zmm1 {%k1}
4850
+ ; X64-SKX-LARGE-NEXT: vmovaps %zmm1, %zmm0
4872
4851
; X64-SKX-LARGE-NEXT: retq
4873
4852
;
4874
4853
; X86-SKX-LABEL: test_gather_structpt_16f32_mask_index:
@@ -4898,16 +4877,9 @@ define <16 x float> @test_gather_structpt_16f32_mask_index_offset(ptr %x, ptr %a
4898
4877
; X64-KNL-NEXT: vptestmd %zmm0, %zmm0, %k1
4899
4878
; X64-KNL-NEXT: vmovdqu64 (%rsi), %zmm0
4900
4879
; X64-KNL-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm0, %zmm0
4901
- ; X64-KNL-NEXT: vextracti64x4 $1, %zmm0, %ymm2
4902
- ; X64-KNL-NEXT: vpmovzxdq {{.*#+}} zmm2 = ymm2[0],zero,ymm2[1],zero,ymm2[2],zero,ymm2[3],zero,ymm2[4],zero,ymm2[5],zero,ymm2[6],zero,ymm2[7],zero
4903
- ; X64-KNL-NEXT: vpmovzxdq {{.*#+}} zmm0 = ymm0[0],zero,ymm0[1],zero,ymm0[2],zero,ymm0[3],zero,ymm0[4],zero,ymm0[5],zero,ymm0[6],zero,ymm0[7],zero
4904
- ; X64-KNL-NEXT: vpsllq $4, %zmm0, %zmm0
4905
- ; X64-KNL-NEXT: vpsllq $4, %zmm2, %zmm2
4906
- ; X64-KNL-NEXT: vextractf64x4 $1, %zmm1, %ymm3
4907
- ; X64-KNL-NEXT: kshiftrw $8, %k1, %k2
4908
- ; X64-KNL-NEXT: vgatherqps 4(%rdi,%zmm2), %ymm3 {%k2}
4909
- ; X64-KNL-NEXT: vgatherqps 4(%rdi,%zmm0), %ymm1 {%k1}
4910
- ; X64-KNL-NEXT: vinsertf64x4 $1, %ymm3, %zmm1, %zmm0
4880
+ ; X64-KNL-NEXT: vpaddd %zmm0, %zmm0, %zmm0
4881
+ ; X64-KNL-NEXT: vgatherdps 4(%rdi,%zmm0,8), %zmm1 {%k1}
4882
+ ; X64-KNL-NEXT: vmovaps %zmm1, %zmm0
4911
4883
; X64-KNL-NEXT: retq
4912
4884
;
4913
4885
; X86-KNL-LABEL: test_gather_structpt_16f32_mask_index_offset:
@@ -4929,16 +4901,9 @@ define <16 x float> @test_gather_structpt_16f32_mask_index_offset(ptr %x, ptr %a
4929
4901
; X64-SKX-SMALL-NEXT: vpmovd2m %zmm0, %k1
4930
4902
; X64-SKX-SMALL-NEXT: vmovdqu64 (%rsi), %zmm0
4931
4903
; X64-SKX-SMALL-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm0, %zmm0
4932
- ; X64-SKX-SMALL-NEXT: vextracti64x4 $1, %zmm0, %ymm2
4933
- ; X64-SKX-SMALL-NEXT: vpmovzxdq {{.*#+}} zmm2 = ymm2[0],zero,ymm2[1],zero,ymm2[2],zero,ymm2[3],zero,ymm2[4],zero,ymm2[5],zero,ymm2[6],zero,ymm2[7],zero
4934
- ; X64-SKX-SMALL-NEXT: vpmovzxdq {{.*#+}} zmm0 = ymm0[0],zero,ymm0[1],zero,ymm0[2],zero,ymm0[3],zero,ymm0[4],zero,ymm0[5],zero,ymm0[6],zero,ymm0[7],zero
4935
- ; X64-SKX-SMALL-NEXT: vpsllq $4, %zmm0, %zmm0
4936
- ; X64-SKX-SMALL-NEXT: vpsllq $4, %zmm2, %zmm2
4937
- ; X64-SKX-SMALL-NEXT: vextractf64x4 $1, %zmm1, %ymm3
4938
- ; X64-SKX-SMALL-NEXT: kshiftrw $8, %k1, %k2
4939
- ; X64-SKX-SMALL-NEXT: vgatherqps 4(%rdi,%zmm2), %ymm3 {%k2}
4940
- ; X64-SKX-SMALL-NEXT: vgatherqps 4(%rdi,%zmm0), %ymm1 {%k1}
4941
- ; X64-SKX-SMALL-NEXT: vinsertf64x4 $1, %ymm3, %zmm1, %zmm0
4904
+ ; X64-SKX-SMALL-NEXT: vpaddd %zmm0, %zmm0, %zmm0
4905
+ ; X64-SKX-SMALL-NEXT: vgatherdps 4(%rdi,%zmm0,8), %zmm1 {%k1}
4906
+ ; X64-SKX-SMALL-NEXT: vmovaps %zmm1, %zmm0
4942
4907
; X64-SKX-SMALL-NEXT: retq
4943
4908
;
4944
4909
; X64-SKX-LARGE-LABEL: test_gather_structpt_16f32_mask_index_offset:
@@ -4949,16 +4914,9 @@ define <16 x float> @test_gather_structpt_16f32_mask_index_offset(ptr %x, ptr %a
4949
4914
; X64-SKX-LARGE-NEXT: vmovdqu64 (%rsi), %zmm0
4950
4915
; X64-SKX-LARGE-NEXT: movabsq ${{\.?LCPI[0-9]+_[0-9]+}}, %rax
4951
4916
; X64-SKX-LARGE-NEXT: vpandd (%rax){1to16}, %zmm0, %zmm0
4952
- ; X64-SKX-LARGE-NEXT: vextracti64x4 $1, %zmm0, %ymm2
4953
- ; X64-SKX-LARGE-NEXT: vpmovzxdq {{.*#+}} zmm2 = ymm2[0],zero,ymm2[1],zero,ymm2[2],zero,ymm2[3],zero,ymm2[4],zero,ymm2[5],zero,ymm2[6],zero,ymm2[7],zero
4954
- ; X64-SKX-LARGE-NEXT: vpmovzxdq {{.*#+}} zmm0 = ymm0[0],zero,ymm0[1],zero,ymm0[2],zero,ymm0[3],zero,ymm0[4],zero,ymm0[5],zero,ymm0[6],zero,ymm0[7],zero
4955
- ; X64-SKX-LARGE-NEXT: vpsllq $4, %zmm0, %zmm0
4956
- ; X64-SKX-LARGE-NEXT: vpsllq $4, %zmm2, %zmm2
4957
- ; X64-SKX-LARGE-NEXT: vextractf64x4 $1, %zmm1, %ymm3
4958
- ; X64-SKX-LARGE-NEXT: kshiftrw $8, %k1, %k2
4959
- ; X64-SKX-LARGE-NEXT: vgatherqps 4(%rdi,%zmm2), %ymm3 {%k2}
4960
- ; X64-SKX-LARGE-NEXT: vgatherqps 4(%rdi,%zmm0), %ymm1 {%k1}
4961
- ; X64-SKX-LARGE-NEXT: vinsertf64x4 $1, %ymm3, %zmm1, %zmm0
4917
+ ; X64-SKX-LARGE-NEXT: vpaddd %zmm0, %zmm0, %zmm0
4918
+ ; X64-SKX-LARGE-NEXT: vgatherdps 4(%rdi,%zmm0,8), %zmm1 {%k1}
4919
+ ; X64-SKX-LARGE-NEXT: vmovaps %zmm1, %zmm0
4962
4920
; X64-SKX-LARGE-NEXT: retq
4963
4921
;
4964
4922
; X86-SKX-LABEL: test_gather_structpt_16f32_mask_index_offset:
@@ -4988,23 +4946,11 @@ define {<16 x float>, <16 x float>} @test_gather_structpt_16f32_mask_index_pair(
4988
4946
; X64-KNL-NEXT: vptestmd %zmm0, %zmm0, %k1
4989
4947
; X64-KNL-NEXT: vmovdqu64 (%rsi), %zmm0
4990
4948
; X64-KNL-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm0, %zmm0
4991
- ; X64-KNL-NEXT: vextracti64x4 $1, %zmm0, %ymm2
4992
- ; X64-KNL-NEXT: vpmovzxdq {{.*#+}} zmm2 = ymm2[0],zero,ymm2[1],zero,ymm2[2],zero,ymm2[3],zero,ymm2[4],zero,ymm2[5],zero,ymm2[6],zero,ymm2[7],zero
4993
- ; X64-KNL-NEXT: vpmovzxdq {{.*#+}} zmm0 = ymm0[0],zero,ymm0[1],zero,ymm0[2],zero,ymm0[3],zero,ymm0[4],zero,ymm0[5],zero,ymm0[6],zero,ymm0[7],zero
4994
- ; X64-KNL-NEXT: vpsllq $4, %zmm0, %zmm3
4995
- ; X64-KNL-NEXT: vpsllq $4, %zmm2, %zmm2
4996
- ; X64-KNL-NEXT: vextractf64x4 $1, %zmm1, %ymm4
4997
- ; X64-KNL-NEXT: kshiftrw $8, %k1, %k2
4998
- ; X64-KNL-NEXT: kmovw %k2, %k3
4999
- ; X64-KNL-NEXT: vmovaps %ymm4, %ymm0
5000
- ; X64-KNL-NEXT: vgatherqps (%rdi,%zmm2), %ymm0 {%k3}
5001
- ; X64-KNL-NEXT: vmovaps %ymm1, %ymm5
5002
- ; X64-KNL-NEXT: kmovw %k1, %k3
5003
- ; X64-KNL-NEXT: vgatherqps (%rdi,%zmm3), %ymm5 {%k3}
5004
- ; X64-KNL-NEXT: vinsertf64x4 $1, %ymm0, %zmm5, %zmm0
5005
- ; X64-KNL-NEXT: vgatherqps 4(%rdi,%zmm2), %ymm4 {%k2}
5006
- ; X64-KNL-NEXT: vgatherqps 4(%rdi,%zmm3), %ymm1 {%k1}
5007
- ; X64-KNL-NEXT: vinsertf64x4 $1, %ymm4, %zmm1, %zmm1
4949
+ ; X64-KNL-NEXT: vpaddd %zmm0, %zmm0, %zmm2
4950
+ ; X64-KNL-NEXT: kmovw %k1, %k2
4951
+ ; X64-KNL-NEXT: vmovaps %zmm1, %zmm0
4952
+ ; X64-KNL-NEXT: vgatherdps (%rdi,%zmm2,8), %zmm0 {%k2}
4953
+ ; X64-KNL-NEXT: vgatherdps 4(%rdi,%zmm2,8), %zmm1 {%k1}
5008
4954
; X64-KNL-NEXT: retq
5009
4955
;
5010
4956
; X86-KNL-LABEL: test_gather_structpt_16f32_mask_index_pair:
@@ -5028,23 +4974,11 @@ define {<16 x float>, <16 x float>} @test_gather_structpt_16f32_mask_index_pair(
5028
4974
; X64-SKX-SMALL-NEXT: vpmovd2m %zmm0, %k1
5029
4975
; X64-SKX-SMALL-NEXT: vmovdqu64 (%rsi), %zmm0
5030
4976
; X64-SKX-SMALL-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm0, %zmm0
5031
- ; X64-SKX-SMALL-NEXT: vextracti64x4 $1, %zmm0, %ymm2
5032
- ; X64-SKX-SMALL-NEXT: vpmovzxdq {{.*#+}} zmm2 = ymm2[0],zero,ymm2[1],zero,ymm2[2],zero,ymm2[3],zero,ymm2[4],zero,ymm2[5],zero,ymm2[6],zero,ymm2[7],zero
5033
- ; X64-SKX-SMALL-NEXT: vpmovzxdq {{.*#+}} zmm0 = ymm0[0],zero,ymm0[1],zero,ymm0[2],zero,ymm0[3],zero,ymm0[4],zero,ymm0[5],zero,ymm0[6],zero,ymm0[7],zero
5034
- ; X64-SKX-SMALL-NEXT: vpsllq $4, %zmm0, %zmm3
5035
- ; X64-SKX-SMALL-NEXT: vpsllq $4, %zmm2, %zmm2
5036
- ; X64-SKX-SMALL-NEXT: vextractf64x4 $1, %zmm1, %ymm4
5037
- ; X64-SKX-SMALL-NEXT: kshiftrw $8, %k1, %k2
5038
- ; X64-SKX-SMALL-NEXT: kmovw %k2, %k3
5039
- ; X64-SKX-SMALL-NEXT: vmovaps %ymm4, %ymm0
5040
- ; X64-SKX-SMALL-NEXT: vgatherqps (%rdi,%zmm2), %ymm0 {%k3}
5041
- ; X64-SKX-SMALL-NEXT: vmovaps %ymm1, %ymm5
5042
- ; X64-SKX-SMALL-NEXT: kmovw %k1, %k3
5043
- ; X64-SKX-SMALL-NEXT: vgatherqps (%rdi,%zmm3), %ymm5 {%k3}
5044
- ; X64-SKX-SMALL-NEXT: vinsertf64x4 $1, %ymm0, %zmm5, %zmm0
5045
- ; X64-SKX-SMALL-NEXT: vgatherqps 4(%rdi,%zmm2), %ymm4 {%k2}
5046
- ; X64-SKX-SMALL-NEXT: vgatherqps 4(%rdi,%zmm3), %ymm1 {%k1}
5047
- ; X64-SKX-SMALL-NEXT: vinsertf64x4 $1, %ymm4, %zmm1, %zmm1
4977
+ ; X64-SKX-SMALL-NEXT: vpaddd %zmm0, %zmm0, %zmm2
4978
+ ; X64-SKX-SMALL-NEXT: kmovw %k1, %k2
4979
+ ; X64-SKX-SMALL-NEXT: vmovaps %zmm1, %zmm0
4980
+ ; X64-SKX-SMALL-NEXT: vgatherdps (%rdi,%zmm2,8), %zmm0 {%k2}
4981
+ ; X64-SKX-SMALL-NEXT: vgatherdps 4(%rdi,%zmm2,8), %zmm1 {%k1}
5048
4982
; X64-SKX-SMALL-NEXT: retq
5049
4983
;
5050
4984
; X64-SKX-LARGE-LABEL: test_gather_structpt_16f32_mask_index_pair:
@@ -5055,23 +4989,11 @@ define {<16 x float>, <16 x float>} @test_gather_structpt_16f32_mask_index_pair(
5055
4989
; X64-SKX-LARGE-NEXT: vmovdqu64 (%rsi), %zmm0
5056
4990
; X64-SKX-LARGE-NEXT: movabsq ${{\.?LCPI[0-9]+_[0-9]+}}, %rax
5057
4991
; X64-SKX-LARGE-NEXT: vpandd (%rax){1to16}, %zmm0, %zmm0
5058
- ; X64-SKX-LARGE-NEXT: vextracti64x4 $1, %zmm0, %ymm2
5059
- ; X64-SKX-LARGE-NEXT: vpmovzxdq {{.*#+}} zmm2 = ymm2[0],zero,ymm2[1],zero,ymm2[2],zero,ymm2[3],zero,ymm2[4],zero,ymm2[5],zero,ymm2[6],zero,ymm2[7],zero
5060
- ; X64-SKX-LARGE-NEXT: vpmovzxdq {{.*#+}} zmm0 = ymm0[0],zero,ymm0[1],zero,ymm0[2],zero,ymm0[3],zero,ymm0[4],zero,ymm0[5],zero,ymm0[6],zero,ymm0[7],zero
5061
- ; X64-SKX-LARGE-NEXT: vpsllq $4, %zmm0, %zmm3
5062
- ; X64-SKX-LARGE-NEXT: vpsllq $4, %zmm2, %zmm2
5063
- ; X64-SKX-LARGE-NEXT: vextractf64x4 $1, %zmm1, %ymm4
5064
- ; X64-SKX-LARGE-NEXT: kshiftrw $8, %k1, %k2
5065
- ; X64-SKX-LARGE-NEXT: vmovaps %ymm4, %ymm0
5066
- ; X64-SKX-LARGE-NEXT: kmovw %k2, %k3
5067
- ; X64-SKX-LARGE-NEXT: vgatherqps (%rdi,%zmm2), %ymm0 {%k3}
5068
- ; X64-SKX-LARGE-NEXT: vmovaps %ymm1, %ymm5
5069
- ; X64-SKX-LARGE-NEXT: kmovw %k1, %k3
5070
- ; X64-SKX-LARGE-NEXT: vgatherqps (%rdi,%zmm3), %ymm5 {%k3}
5071
- ; X64-SKX-LARGE-NEXT: vinsertf64x4 $1, %ymm0, %zmm5, %zmm0
5072
- ; X64-SKX-LARGE-NEXT: vgatherqps 4(%rdi,%zmm2), %ymm4 {%k2}
5073
- ; X64-SKX-LARGE-NEXT: vgatherqps 4(%rdi,%zmm3), %ymm1 {%k1}
5074
- ; X64-SKX-LARGE-NEXT: vinsertf64x4 $1, %ymm4, %zmm1, %zmm1
4992
+ ; X64-SKX-LARGE-NEXT: vpaddd %zmm0, %zmm0, %zmm2
4993
+ ; X64-SKX-LARGE-NEXT: kmovw %k1, %k2
4994
+ ; X64-SKX-LARGE-NEXT: vmovaps %zmm1, %zmm0
4995
+ ; X64-SKX-LARGE-NEXT: vgatherdps (%rdi,%zmm2,8), %zmm0 {%k2}
4996
+ ; X64-SKX-LARGE-NEXT: vgatherdps 4(%rdi,%zmm2,8), %zmm1 {%k1}
5075
4997
; X64-SKX-LARGE-NEXT: retq
5076
4998
;
5077
4999
; X86-SKX-LABEL: test_gather_structpt_16f32_mask_index_pair:
0 commit comments