1
1
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --no_x86_scrub_mem_shuffle
2
- ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx -disable-peephole | FileCheck %s --check-prefix =ALL --check-prefix= AVX1
3
- ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 -disable-peephole | FileCheck %s --check-prefix =ALL --check-prefix= AVX2
2
+ ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx -disable-peephole | FileCheck %s --check-prefixes =ALL, AVX1
3
+ ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 -disable-peephole | FileCheck %s --check-prefixes =ALL, AVX2
4
4
5
5
define <8 x float > @shuffle_v8f32_45670123 (<8 x float > %a , <8 x float > %b ) nounwind uwtable readnone ssp {
6
6
; AVX1-LABEL: shuffle_v8f32_45670123:
@@ -60,15 +60,10 @@ entry:
60
60
}
61
61
62
62
define <8 x float > @shuffle_v8f32_01230123_mem (<8 x float >* %pa , <8 x float >* %pb ) nounwind uwtable readnone ssp {
63
- ; AVX1-LABEL: shuffle_v8f32_01230123_mem:
64
- ; AVX1: # %bb.0: # %entry
65
- ; AVX1-NEXT: vperm2f128 $34, (%rdi), %ymm0, %ymm0 # ymm0 = mem[0,1,0,1]
66
- ; AVX1-NEXT: retq
67
- ;
68
- ; AVX2-LABEL: shuffle_v8f32_01230123_mem:
69
- ; AVX2: # %bb.0: # %entry
70
- ; AVX2-NEXT: vpermpd $68, (%rdi), %ymm0 # ymm0 = mem[0,1,0,1]
71
- ; AVX2-NEXT: retq
63
+ ; ALL-LABEL: shuffle_v8f32_01230123_mem:
64
+ ; ALL: # %bb.0: # %entry
65
+ ; ALL-NEXT: vbroadcastf128 (%rdi), %ymm0 # ymm0 = mem[0,1,0,1]
66
+ ; ALL-NEXT: retq
72
67
entry:
73
68
%a = load <8 x float >, <8 x float >* %pa
74
69
%b = load <8 x float >, <8 x float >* %pb
@@ -92,15 +87,10 @@ entry:
92
87
}
93
88
94
89
define <8 x float > @shuffle_v8f32_45674567_mem (<8 x float >* %pa , <8 x float >* %pb ) nounwind uwtable readnone ssp {
95
- ; AVX1-LABEL: shuffle_v8f32_45674567_mem:
96
- ; AVX1: # %bb.0: # %entry
97
- ; AVX1-NEXT: vperm2f128 $51, (%rdi), %ymm0, %ymm0 # ymm0 = mem[2,3,2,3]
98
- ; AVX1-NEXT: retq
99
- ;
100
- ; AVX2-LABEL: shuffle_v8f32_45674567_mem:
101
- ; AVX2: # %bb.0: # %entry
102
- ; AVX2-NEXT: vpermpd $238, (%rdi), %ymm0 # ymm0 = mem[2,3,2,3]
103
- ; AVX2-NEXT: retq
90
+ ; ALL-LABEL: shuffle_v8f32_45674567_mem:
91
+ ; ALL: # %bb.0: # %entry
92
+ ; ALL-NEXT: vbroadcastf128 16(%rdi), %ymm0 # ymm0 = mem[0,1,0,1]
93
+ ; ALL-NEXT: retq
104
94
entry:
105
95
%a = load <8 x float >, <8 x float >* %pa
106
96
%b = load <8 x float >, <8 x float >* %pb
0 commit comments