@@ -4806,7 +4806,6 @@ define <16 x float> @test_gather_structpt_16f32_mask_index(ptr %x, ptr %arr, <16
4806
4806
; X64-KNL-NEXT: vpslld $31, %zmm0, %zmm0
4807
4807
; X64-KNL-NEXT: vptestmd %zmm0, %zmm0, %k1
4808
4808
; X64-KNL-NEXT: vmovdqu64 (%rsi), %zmm0
4809
- ; X64-KNL-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm0, %zmm0
4810
4809
; X64-KNL-NEXT: vpaddd %zmm0, %zmm0, %zmm0
4811
4810
; X64-KNL-NEXT: vgatherdps (%rdi,%zmm0,8), %zmm1 {%k1}
4812
4811
; X64-KNL-NEXT: vmovaps %zmm1, %zmm0
@@ -4820,36 +4819,21 @@ define <16 x float> @test_gather_structpt_16f32_mask_index(ptr %x, ptr %arr, <16
4820
4819
; X86-KNL-NEXT: movl {{[0-9]+}}(%esp), %eax
4821
4820
; X86-KNL-NEXT: movl {{[0-9]+}}(%esp), %ecx
4822
4821
; X86-KNL-NEXT: vmovdqu64 (%ecx), %zmm0
4823
- ; X86-KNL-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}{1to16}, %zmm0, %zmm0
4824
4822
; X86-KNL-NEXT: vpaddd %zmm0, %zmm0, %zmm0
4825
4823
; X86-KNL-NEXT: vgatherdps (%eax,%zmm0,8), %zmm1 {%k1}
4826
4824
; X86-KNL-NEXT: vmovaps %zmm1, %zmm0
4827
4825
; X86-KNL-NEXT: retl
4828
4826
;
4829
- ; X64-SKX-SMALL-LABEL: test_gather_structpt_16f32_mask_index:
4830
- ; X64-SKX-SMALL: # %bb.0:
4831
- ; X64-SKX-SMALL-NEXT: vpmovsxbd %xmm0, %zmm0
4832
- ; X64-SKX-SMALL-NEXT: vpslld $31, %zmm0, %zmm0
4833
- ; X64-SKX-SMALL-NEXT: vpmovd2m %zmm0, %k1
4834
- ; X64-SKX-SMALL-NEXT: vmovdqu64 (%rsi), %zmm0
4835
- ; X64-SKX-SMALL-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm0, %zmm0
4836
- ; X64-SKX-SMALL-NEXT: vpaddd %zmm0, %zmm0, %zmm0
4837
- ; X64-SKX-SMALL-NEXT: vgatherdps (%rdi,%zmm0,8), %zmm1 {%k1}
4838
- ; X64-SKX-SMALL-NEXT: vmovaps %zmm1, %zmm0
4839
- ; X64-SKX-SMALL-NEXT: retq
4840
- ;
4841
- ; X64-SKX-LARGE-LABEL: test_gather_structpt_16f32_mask_index:
4842
- ; X64-SKX-LARGE: # %bb.0:
4843
- ; X64-SKX-LARGE-NEXT: vpmovsxbd %xmm0, %zmm0
4844
- ; X64-SKX-LARGE-NEXT: vpslld $31, %zmm0, %zmm0
4845
- ; X64-SKX-LARGE-NEXT: vpmovd2m %zmm0, %k1
4846
- ; X64-SKX-LARGE-NEXT: vmovdqu64 (%rsi), %zmm0
4847
- ; X64-SKX-LARGE-NEXT: movabsq ${{\.?LCPI[0-9]+_[0-9]+}}, %rax
4848
- ; X64-SKX-LARGE-NEXT: vpandd (%rax){1to16}, %zmm0, %zmm0
4849
- ; X64-SKX-LARGE-NEXT: vpaddd %zmm0, %zmm0, %zmm0
4850
- ; X64-SKX-LARGE-NEXT: vgatherdps (%rdi,%zmm0,8), %zmm1 {%k1}
4851
- ; X64-SKX-LARGE-NEXT: vmovaps %zmm1, %zmm0
4852
- ; X64-SKX-LARGE-NEXT: retq
4827
+ ; X64-SKX-LABEL: test_gather_structpt_16f32_mask_index:
4828
+ ; X64-SKX: # %bb.0:
4829
+ ; X64-SKX-NEXT: vpmovsxbd %xmm0, %zmm0
4830
+ ; X64-SKX-NEXT: vpslld $31, %zmm0, %zmm0
4831
+ ; X64-SKX-NEXT: vpmovd2m %zmm0, %k1
4832
+ ; X64-SKX-NEXT: vmovdqu64 (%rsi), %zmm0
4833
+ ; X64-SKX-NEXT: vpaddd %zmm0, %zmm0, %zmm0
4834
+ ; X64-SKX-NEXT: vgatherdps (%rdi,%zmm0,8), %zmm1 {%k1}
4835
+ ; X64-SKX-NEXT: vmovaps %zmm1, %zmm0
4836
+ ; X64-SKX-NEXT: retq
4853
4837
;
4854
4838
; X86-SKX-LABEL: test_gather_structpt_16f32_mask_index:
4855
4839
; X86-SKX: # %bb.0:
@@ -4859,7 +4843,6 @@ define <16 x float> @test_gather_structpt_16f32_mask_index(ptr %x, ptr %arr, <16
4859
4843
; X86-SKX-NEXT: movl {{[0-9]+}}(%esp), %eax
4860
4844
; X86-SKX-NEXT: movl {{[0-9]+}}(%esp), %ecx
4861
4845
; X86-SKX-NEXT: vmovdqu64 (%ecx), %zmm0
4862
- ; X86-SKX-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}{1to16}, %zmm0, %zmm0
4863
4846
; X86-SKX-NEXT: vpaddd %zmm0, %zmm0, %zmm0
4864
4847
; X86-SKX-NEXT: vgatherdps (%eax,%zmm0,8), %zmm1 {%k1}
4865
4848
; X86-SKX-NEXT: vmovaps %zmm1, %zmm0
@@ -4879,7 +4862,6 @@ define <16 x float> @test_gather_structpt_16f32_mask_index_offset(ptr %x, ptr %a
4879
4862
; X64-KNL-NEXT: vpslld $31, %zmm0, %zmm0
4880
4863
; X64-KNL-NEXT: vptestmd %zmm0, %zmm0, %k1
4881
4864
; X64-KNL-NEXT: vmovdqu64 (%rsi), %zmm0
4882
- ; X64-KNL-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm0, %zmm0
4883
4865
; X64-KNL-NEXT: vpaddd %zmm0, %zmm0, %zmm0
4884
4866
; X64-KNL-NEXT: vgatherdps 4(%rdi,%zmm0,8), %zmm1 {%k1}
4885
4867
; X64-KNL-NEXT: vmovaps %zmm1, %zmm0
@@ -4893,36 +4875,21 @@ define <16 x float> @test_gather_structpt_16f32_mask_index_offset(ptr %x, ptr %a
4893
4875
; X86-KNL-NEXT: movl {{[0-9]+}}(%esp), %eax
4894
4876
; X86-KNL-NEXT: movl {{[0-9]+}}(%esp), %ecx
4895
4877
; X86-KNL-NEXT: vmovdqu64 (%ecx), %zmm0
4896
- ; X86-KNL-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}{1to16}, %zmm0, %zmm0
4897
4878
; X86-KNL-NEXT: vpaddd %zmm0, %zmm0, %zmm0
4898
4879
; X86-KNL-NEXT: vgatherdps 4(%eax,%zmm0,8), %zmm1 {%k1}
4899
4880
; X86-KNL-NEXT: vmovaps %zmm1, %zmm0
4900
4881
; X86-KNL-NEXT: retl
4901
4882
;
4902
- ; X64-SKX-SMALL-LABEL: test_gather_structpt_16f32_mask_index_offset:
4903
- ; X64-SKX-SMALL: # %bb.0:
4904
- ; X64-SKX-SMALL-NEXT: vpmovsxbd %xmm0, %zmm0
4905
- ; X64-SKX-SMALL-NEXT: vpslld $31, %zmm0, %zmm0
4906
- ; X64-SKX-SMALL-NEXT: vpmovd2m %zmm0, %k1
4907
- ; X64-SKX-SMALL-NEXT: vmovdqu64 (%rsi), %zmm0
4908
- ; X64-SKX-SMALL-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm0, %zmm0
4909
- ; X64-SKX-SMALL-NEXT: vpaddd %zmm0, %zmm0, %zmm0
4910
- ; X64-SKX-SMALL-NEXT: vgatherdps 4(%rdi,%zmm0,8), %zmm1 {%k1}
4911
- ; X64-SKX-SMALL-NEXT: vmovaps %zmm1, %zmm0
4912
- ; X64-SKX-SMALL-NEXT: retq
4913
- ;
4914
- ; X64-SKX-LARGE-LABEL: test_gather_structpt_16f32_mask_index_offset:
4915
- ; X64-SKX-LARGE: # %bb.0:
4916
- ; X64-SKX-LARGE-NEXT: vpmovsxbd %xmm0, %zmm0
4917
- ; X64-SKX-LARGE-NEXT: vpslld $31, %zmm0, %zmm0
4918
- ; X64-SKX-LARGE-NEXT: vpmovd2m %zmm0, %k1
4919
- ; X64-SKX-LARGE-NEXT: vmovdqu64 (%rsi), %zmm0
4920
- ; X64-SKX-LARGE-NEXT: movabsq ${{\.?LCPI[0-9]+_[0-9]+}}, %rax
4921
- ; X64-SKX-LARGE-NEXT: vpandd (%rax){1to16}, %zmm0, %zmm0
4922
- ; X64-SKX-LARGE-NEXT: vpaddd %zmm0, %zmm0, %zmm0
4923
- ; X64-SKX-LARGE-NEXT: vgatherdps 4(%rdi,%zmm0,8), %zmm1 {%k1}
4924
- ; X64-SKX-LARGE-NEXT: vmovaps %zmm1, %zmm0
4925
- ; X64-SKX-LARGE-NEXT: retq
4883
+ ; X64-SKX-LABEL: test_gather_structpt_16f32_mask_index_offset:
4884
+ ; X64-SKX: # %bb.0:
4885
+ ; X64-SKX-NEXT: vpmovsxbd %xmm0, %zmm0
4886
+ ; X64-SKX-NEXT: vpslld $31, %zmm0, %zmm0
4887
+ ; X64-SKX-NEXT: vpmovd2m %zmm0, %k1
4888
+ ; X64-SKX-NEXT: vmovdqu64 (%rsi), %zmm0
4889
+ ; X64-SKX-NEXT: vpaddd %zmm0, %zmm0, %zmm0
4890
+ ; X64-SKX-NEXT: vgatherdps 4(%rdi,%zmm0,8), %zmm1 {%k1}
4891
+ ; X64-SKX-NEXT: vmovaps %zmm1, %zmm0
4892
+ ; X64-SKX-NEXT: retq
4926
4893
;
4927
4894
; X86-SKX-LABEL: test_gather_structpt_16f32_mask_index_offset:
4928
4895
; X86-SKX: # %bb.0:
@@ -4932,7 +4899,6 @@ define <16 x float> @test_gather_structpt_16f32_mask_index_offset(ptr %x, ptr %a
4932
4899
; X86-SKX-NEXT: movl {{[0-9]+}}(%esp), %eax
4933
4900
; X86-SKX-NEXT: movl {{[0-9]+}}(%esp), %ecx
4934
4901
; X86-SKX-NEXT: vmovdqu64 (%ecx), %zmm0
4935
- ; X86-SKX-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}{1to16}, %zmm0, %zmm0
4936
4902
; X86-SKX-NEXT: vpaddd %zmm0, %zmm0, %zmm0
4937
4903
; X86-SKX-NEXT: vgatherdps 4(%eax,%zmm0,8), %zmm1 {%k1}
4938
4904
; X86-SKX-NEXT: vmovaps %zmm1, %zmm0
@@ -4952,7 +4918,6 @@ define {<16 x float>, <16 x float>} @test_gather_16f32_mask_index_pair(ptr %x, p
4952
4918
; X64-KNL-NEXT: vpslld $31, %zmm0, %zmm0
4953
4919
; X64-KNL-NEXT: vptestmd %zmm0, %zmm0, %k1
4954
4920
; X64-KNL-NEXT: vmovdqu64 (%rsi), %zmm0
4955
- ; X64-KNL-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm0, %zmm0
4956
4921
; X64-KNL-NEXT: vpaddd %zmm0, %zmm0, %zmm2
4957
4922
; X64-KNL-NEXT: kmovw %k1, %k2
4958
4923
; X64-KNL-NEXT: vmovaps %zmm1, %zmm0
@@ -4968,42 +4933,25 @@ define {<16 x float>, <16 x float>} @test_gather_16f32_mask_index_pair(ptr %x, p
4968
4933
; X86-KNL-NEXT: movl {{[0-9]+}}(%esp), %eax
4969
4934
; X86-KNL-NEXT: movl {{[0-9]+}}(%esp), %ecx
4970
4935
; X86-KNL-NEXT: vmovdqu64 (%ecx), %zmm0
4971
- ; X86-KNL-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}{1to16}, %zmm0, %zmm0
4972
4936
; X86-KNL-NEXT: vpaddd %zmm0, %zmm0, %zmm2
4973
4937
; X86-KNL-NEXT: kmovw %k1, %k2
4974
4938
; X86-KNL-NEXT: vmovaps %zmm1, %zmm0
4975
4939
; X86-KNL-NEXT: vgatherdps (%eax,%zmm2,8), %zmm0 {%k2}
4976
4940
; X86-KNL-NEXT: vgatherdps 4(%eax,%zmm2,8), %zmm1 {%k1}
4977
4941
; X86-KNL-NEXT: retl
4978
4942
;
4979
- ; X64-SKX-SMALL-LABEL: test_gather_16f32_mask_index_pair:
4980
- ; X64-SKX-SMALL: # %bb.0:
4981
- ; X64-SKX-SMALL-NEXT: vpmovsxbd %xmm0, %zmm0
4982
- ; X64-SKX-SMALL-NEXT: vpslld $31, %zmm0, %zmm0
4983
- ; X64-SKX-SMALL-NEXT: vpmovd2m %zmm0, %k1
4984
- ; X64-SKX-SMALL-NEXT: vmovdqu64 (%rsi), %zmm0
4985
- ; X64-SKX-SMALL-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm0, %zmm0
4986
- ; X64-SKX-SMALL-NEXT: vpaddd %zmm0, %zmm0, %zmm2
4987
- ; X64-SKX-SMALL-NEXT: kmovw %k1, %k2
4988
- ; X64-SKX-SMALL-NEXT: vmovaps %zmm1, %zmm0
4989
- ; X64-SKX-SMALL-NEXT: vgatherdps (%rdi,%zmm2,8), %zmm0 {%k2}
4990
- ; X64-SKX-SMALL-NEXT: vgatherdps 4(%rdi,%zmm2,8), %zmm1 {%k1}
4991
- ; X64-SKX-SMALL-NEXT: retq
4992
- ;
4993
- ; X64-SKX-LARGE-LABEL: test_gather_16f32_mask_index_pair:
4994
- ; X64-SKX-LARGE: # %bb.0:
4995
- ; X64-SKX-LARGE-NEXT: vpmovsxbd %xmm0, %zmm0
4996
- ; X64-SKX-LARGE-NEXT: vpslld $31, %zmm0, %zmm0
4997
- ; X64-SKX-LARGE-NEXT: vpmovd2m %zmm0, %k1
4998
- ; X64-SKX-LARGE-NEXT: vmovdqu64 (%rsi), %zmm0
4999
- ; X64-SKX-LARGE-NEXT: movabsq ${{\.?LCPI[0-9]+_[0-9]+}}, %rax
5000
- ; X64-SKX-LARGE-NEXT: vpandd (%rax){1to16}, %zmm0, %zmm0
5001
- ; X64-SKX-LARGE-NEXT: vpaddd %zmm0, %zmm0, %zmm2
5002
- ; X64-SKX-LARGE-NEXT: kmovw %k1, %k2
5003
- ; X64-SKX-LARGE-NEXT: vmovaps %zmm1, %zmm0
5004
- ; X64-SKX-LARGE-NEXT: vgatherdps (%rdi,%zmm2,8), %zmm0 {%k2}
5005
- ; X64-SKX-LARGE-NEXT: vgatherdps 4(%rdi,%zmm2,8), %zmm1 {%k1}
5006
- ; X64-SKX-LARGE-NEXT: retq
4943
+ ; X64-SKX-LABEL: test_gather_16f32_mask_index_pair:
4944
+ ; X64-SKX: # %bb.0:
4945
+ ; X64-SKX-NEXT: vpmovsxbd %xmm0, %zmm0
4946
+ ; X64-SKX-NEXT: vpslld $31, %zmm0, %zmm0
4947
+ ; X64-SKX-NEXT: vpmovd2m %zmm0, %k1
4948
+ ; X64-SKX-NEXT: vmovdqu64 (%rsi), %zmm0
4949
+ ; X64-SKX-NEXT: vpaddd %zmm0, %zmm0, %zmm2
4950
+ ; X64-SKX-NEXT: kmovw %k1, %k2
4951
+ ; X64-SKX-NEXT: vmovaps %zmm1, %zmm0
4952
+ ; X64-SKX-NEXT: vgatherdps (%rdi,%zmm2,8), %zmm0 {%k2}
4953
+ ; X64-SKX-NEXT: vgatherdps 4(%rdi,%zmm2,8), %zmm1 {%k1}
4954
+ ; X64-SKX-NEXT: retq
5007
4955
;
5008
4956
; X86-SKX-LABEL: test_gather_16f32_mask_index_pair:
5009
4957
; X86-SKX: # %bb.0:
@@ -5013,7 +4961,6 @@ define {<16 x float>, <16 x float>} @test_gather_16f32_mask_index_pair(ptr %x, p
5013
4961
; X86-SKX-NEXT: movl {{[0-9]+}}(%esp), %eax
5014
4962
; X86-SKX-NEXT: movl {{[0-9]+}}(%esp), %ecx
5015
4963
; X86-SKX-NEXT: vmovdqu64 (%ecx), %zmm0
5016
- ; X86-SKX-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}{1to16}, %zmm0, %zmm0
5017
4964
; X86-SKX-NEXT: vpaddd %zmm0, %zmm0, %zmm2
5018
4965
; X86-SKX-NEXT: kmovw %k1, %k2
5019
4966
; X86-SKX-NEXT: vmovaps %zmm1, %zmm0
0 commit comments