Lines Matching refs:SSE1
2 ; RUN: llc < %s -mcpu=x86-64 -mattr=-sse2 | FileCheck %s --check-prefix=SSE1
7 ; SSE1-LABEL: shuffle_v4f32_0001:
8 ; SSE1: # BB#0:
9 ; SSE1-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,0,0,1]
10 ; SSE1-NEXT: retq
15 ; SSE1-LABEL: shuffle_v4f32_0020:
16 ; SSE1: # BB#0:
17 ; SSE1-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,0,2,0]
18 ; SSE1-NEXT: retq
23 ; SSE1-LABEL: shuffle_v4f32_0300:
24 ; SSE1: # BB#0:
25 ; SSE1-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,3,0,0]
26 ; SSE1-NEXT: retq
31 ; SSE1-LABEL: shuffle_v4f32_1000:
32 ; SSE1: # BB#0:
33 ; SSE1-NEXT: shufps {{.*#+}} xmm0 = xmm0[1,0,0,0]
34 ; SSE1-NEXT: retq
39 ; SSE1-LABEL: shuffle_v4f32_2200:
40 ; SSE1: # BB#0:
41 ; SSE1-NEXT: shufps {{.*#+}} xmm0 = xmm0[2,2,0,0]
42 ; SSE1-NEXT: retq
47 ; SSE1-LABEL: shuffle_v4f32_3330:
48 ; SSE1: # BB#0:
49 ; SSE1-NEXT: shufps {{.*#+}} xmm0 = xmm0[3,3,3,0]
50 ; SSE1-NEXT: retq
55 ; SSE1-LABEL: shuffle_v4f32_3210:
56 ; SSE1: # BB#0:
57 ; SSE1-NEXT: shufps {{.*#+}} xmm0 = xmm0[3,2,1,0]
58 ; SSE1-NEXT: retq
63 ; SSE1-LABEL: shuffle_v4f32_0011:
64 ; SSE1: # BB#0:
65 ; SSE1-NEXT: unpcklps {{.*#+}} xmm0 = xmm0[0,0,1,1]
66 ; SSE1-NEXT: retq
71 ; SSE1-LABEL: shuffle_v4f32_2233:
72 ; SSE1: # BB#0:
73 ; SSE1-NEXT: unpckhps {{.*#+}} xmm0 = xmm0[2,2,3,3]
74 ; SSE1-NEXT: retq
79 ; SSE1-LABEL: shuffle_v4f32_0022:
80 ; SSE1: # BB#0:
81 ; SSE1-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,0,2,2]
82 ; SSE1-NEXT: retq
87 ; SSE1-LABEL: shuffle_v4f32_1133:
88 ; SSE1: # BB#0:
89 ; SSE1-NEXT: shufps {{.*#+}} xmm0 = xmm0[1,1,3,3]
90 ; SSE1-NEXT: retq
95 ; SSE1-LABEL: shuffle_v4f32_0145:
96 ; SSE1: # BB#0:
97 ; SSE1-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0],xmm1[0]
98 ; SSE1-NEXT: retq
103 ; SSE1-LABEL: shuffle_v4f32_6723:
104 ; SSE1: # BB#0:
105 ; SSE1-NEXT: movhlps {{.*#+}} xmm0 = xmm1[1],xmm0[1]
106 ; SSE1-NEXT: retq
112 ; SSE1-LABEL: shuffle_v4f32_4zzz:
113 ; SSE1: # BB#0:
114 ; SSE1-NEXT: xorps %xmm1, %xmm1
115 ; SSE1-NEXT: movss {{.*#+}} xmm1 = xmm0[0],xmm1[1,2,3]
116 ; SSE1-NEXT: movaps %xmm1, %xmm0
117 ; SSE1-NEXT: retq
123 ; SSE1-LABEL: shuffle_v4f32_z4zz:
124 ; SSE1: # BB#0:
125 ; SSE1-NEXT: xorps %xmm1, %xmm1
126 ; SSE1-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,0],xmm1[0,0]
127 ; SSE1-NEXT: shufps {{.*#+}} xmm0 = xmm0[2,0],xmm1[2,3]
128 ; SSE1-NEXT: retq
134 ; SSE1-LABEL: shuffle_v4f32_zz4z:
135 ; SSE1: # BB#0:
136 ; SSE1-NEXT: xorps %xmm1, %xmm1
137 ; SSE1-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,0],xmm1[3,0]
138 ; SSE1-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[0,2]
139 ; SSE1-NEXT: movaps %xmm1, %xmm0
140 ; SSE1-NEXT: retq
146 ; SSE1-LABEL: shuffle_v4f32_zuu4:
147 ; SSE1: # BB#0:
148 ; SSE1-NEXT: xorps %xmm1, %xmm1
149 ; SSE1-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,0]
150 ; SSE1-NEXT: movaps %xmm1, %xmm0
151 ; SSE1-NEXT: retq
157 ; SSE1-LABEL: shuffle_v4f32_zzz7:
158 ; SSE1: # BB#0:
159 ; SSE1-NEXT: xorps %xmm1, %xmm1
160 ; SSE1-NEXT: shufps {{.*#+}} xmm0 = xmm0[3,0],xmm1[2,0]
161 ; SSE1-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,0]
162 ; SSE1-NEXT: movaps %xmm1, %xmm0
163 ; SSE1-NEXT: retq
169 ; SSE1-LABEL: shuffle_v4f32_z6zz:
170 ; SSE1: # BB#0:
171 ; SSE1-NEXT: xorps %xmm1, %xmm1
172 ; SSE1-NEXT: shufps {{.*#+}} xmm0 = xmm0[2,0],xmm1[0,0]
173 ; SSE1-NEXT: shufps {{.*#+}} xmm0 = xmm0[2,0],xmm1[2,3]
174 ; SSE1-NEXT: retq
180 ; SSE1-LABEL: insert_reg_and_zero_v4f32:
181 ; SSE1: # BB#0:
182 ; SSE1-NEXT: xorps %xmm1, %xmm1
183 ; SSE1-NEXT: movss {{.*#+}} xmm1 = xmm0[0],xmm1[1,2,3]
184 ; SSE1-NEXT: movaps %xmm1, %xmm0
185 ; SSE1-NEXT: retq
192 ; SSE1-LABEL: insert_mem_and_zero_v4f32:
193 ; SSE1: # BB#0:
194 ; SSE1-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
195 ; SSE1-NEXT: retq
203 ; SSE1-LABEL: insert_mem_lo_v4f32:
204 ; SSE1: # BB#0:
205 ; SSE1-NEXT: movq (%rdi), %rax
206 ; SSE1-NEXT: movl %eax, -{{[0-9]+}}(%rsp)
207 ; SSE1-NEXT: shrq $32, %rax
208 ; SSE1-NEXT: movl %eax, -{{[0-9]+}}(%rsp)
209 ; SSE1-NEXT: movss {{.*#+}} xmm1 = mem[0],zero,zero,zero
210 ; SSE1-NEXT: movss {{.*#+}} xmm2 = mem[0],zero,zero,zero
211 ; SSE1-NEXT: unpcklps {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
212 ; SSE1-NEXT: xorps %xmm2, %xmm2
213 ; SSE1-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
214 ; SSE1-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,3]
215 ; SSE1-NEXT: movaps %xmm1, %xmm0
216 ; SSE1-NEXT: retq
224 ; SSE1-LABEL: insert_mem_hi_v4f32:
225 ; SSE1: # BB#0:
226 ; SSE1-NEXT: movq (%rdi), %rax
227 ; SSE1-NEXT: movl %eax, -{{[0-9]+}}(%rsp)
228 ; SSE1-NEXT: shrq $32, %rax
229 ; SSE1-NEXT: movl %eax, -{{[0-9]+}}(%rsp)
230 ; SSE1-NEXT: movss {{.*#+}} xmm1 = mem[0],zero,zero,zero
231 ; SSE1-NEXT: movss {{.*#+}} xmm2 = mem[0],zero,zero,zero
232 ; SSE1-NEXT: unpcklps {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
233 ; SSE1-NEXT: xorps %xmm2, %xmm2
234 ; SSE1-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]
235 ; SSE1-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0],xmm1[0]
236 ; SSE1-NEXT: retq
244 ; SSE1-LABEL: shuffle_mem_v4f32_3210:
245 ; SSE1: # BB#0:
246 ; SSE1-NEXT: movaps (%rdi), %xmm0
247 ; SSE1-NEXT: shufps {{.*#+}} xmm0 = xmm0[3,2,1,0]
248 ; SSE1-NEXT: retq
254 ; SSE1-LABEL: shuffle_mem_v4f32_0145:
255 ; SSE1: # BB#0:
256 ; SSE1-NEXT: movhps (%rdi), %xmm0
257 ; SSE1-NEXT: retq
263 ; SSE1-LABEL: shuffle_mem_v4f32_6723:
264 ; SSE1: # BB#0:
265 ; SSE1-NEXT: movlps 8(%rdi), %xmm0
266 ; SSE1-NEXT: retq