llvm.org GIT mirror llvm / 6c48317
[X86][AVX512] Add test cases that should lower to MOVSLDUP/MOVSHDUP git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274435 91177308-0d34-0410-b5e6-96231b3b80d8 Simon Pilgrim 4 years ago
1 changed file(s) with 21 addition(s) and 1 deletion(s). Raw diff Collapse all Expand all
None ; NOTE: Assertions have been autogenerated by update_llc_test_checks.py
0 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
11 ; RUN: llc < %s -mcpu=x86-64 -mattr=+avx512f | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX512F
22 ; RUN: llc < %s -mcpu=x86-64 -mattr=+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX512 --check-prefix=AVX512BW
33
8585 ; ALL-NEXT: vunpckhps {{.*#+}} zmm0 = zmm0[2],zmm1[2],zmm0[3],zmm1[3],zmm0[6],zmm1[6],zmm0[7],zmm1[7],zmm0[10],zmm1[10],zmm0[11],zmm1[11],zmm0[14],zmm1[14],zmm0[15],zmm1[15]
8686 ; ALL-NEXT: retq
8787 %shuffle = shufflevector <16 x float> zeroinitializer, <16 x float> %b, <16 x i32>
88 ret <16 x float> %shuffle
89 }
90
91 define <16 x float> @shuffle_v16f32_00_00_02_02_04_04_06_06_08_08_10_10_12_12_14_14(<16 x float> %a, <16 x float> %b) {
92 ; ALL-LABEL: shuffle_v16f32_00_00_02_02_04_04_06_06_08_08_10_10_12_12_14_14:
93 ; ALL: # BB#0:
94 ; ALL-NEXT: vmovdqa32 {{.*#+}} zmm1 = [0,0,2,2,4,4,6,6,8,8,10,10,12,12,14,14]
95 ; ALL-NEXT: vpermps %zmm0, %zmm1, %zmm0
96 ; ALL-NEXT: retq
97 %shuffle = shufflevector <16 x float> %a, <16 x float> %b, <16 x i32>
98 ret <16 x float> %shuffle
99 }
100
101 define <16 x float> @shuffle_v16f32_01_01_03_03_05_05_07_07_09_09_11_11_13_13_15_15(<16 x float> %a, <16 x float> %b) {
102 ; ALL-LABEL: shuffle_v16f32_01_01_03_03_05_05_07_07_09_09_11_11_13_13_15_15:
103 ; ALL: # BB#0:
104 ; ALL-NEXT: vmovdqa32 {{.*#+}} zmm1 = [1,1,3,3,5,5,7,7,9,9,11,11,13,13,15,15]
105 ; ALL-NEXT: vpermps %zmm0, %zmm1, %zmm0
106 ; ALL-NEXT: retq
107 %shuffle = shufflevector <16 x float> %a, <16 x float> %b, <16 x i32>
88108 ret <16 x float> %shuffle
89109 }
90110