1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s -O0 -mtriple=x86_64-unknown-unknown -mattr=+amx-int8 -mattr=+avx512f | FileCheck %s --check-prefix=AVX512
3 ; RUN: llc < %s -O0 -mtriple=x86_64-unknown-unknown -mattr=+amx-int8 -mattr=+avx2 | FileCheck %s --check-prefix=AVX2
4 ; RUN: llc < %s -O0 -mtriple=x86_64-unknown-unknown -mattr=+amx-int8 | FileCheck %s --check-prefix=SSE2
7 source_filename = "amx_api.c"
9 %struct.__tile1024i_str = type <{ i16, i16, [60 x i8], <256 x i32> }>
11 @buf = dso_local global [1024 x i8] zeroinitializer, align 16
12 @buf2 = dso_local global [1024 x i8] zeroinitializer, align 16
14 ; Function Attrs: noinline nounwind optnone uwtable
15 define dso_local void @test_api(i32 %cond, i16 signext %row, i16 signext %col) #0 {
16 ; AVX512-LABEL: test_api:
17 ; AVX512: # %bb.0: # %entry
18 ; AVX512-NEXT: pushq %rbp
19 ; AVX512-NEXT: .cfi_def_cfa_offset 16
20 ; AVX512-NEXT: .cfi_offset %rbp, -16
21 ; AVX512-NEXT: movq %rsp, %rbp
22 ; AVX512-NEXT: .cfi_def_cfa_register %rbp
23 ; AVX512-NEXT: andq $-1024, %rsp # imm = 0xFC00
24 ; AVX512-NEXT: subq $25600, %rsp # imm = 0x6400
25 ; AVX512-NEXT: movw %dx, %ax
26 ; AVX512-NEXT: movw %si, %cx
27 ; AVX512-NEXT: movl %edi, {{[0-9]+}}(%rsp)
28 ; AVX512-NEXT: movw %cx, {{[0-9]+}}(%rsp)
29 ; AVX512-NEXT: movw %ax, {{[0-9]+}}(%rsp)
30 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
31 ; AVX512-NEXT: xorl %esi, %esi
32 ; AVX512-NEXT: movl $1088, %edx # imm = 0x440
33 ; AVX512-NEXT: callq memset@PLT
34 ; AVX512-NEXT: movw {{[0-9]+}}(%rsp), %ax
35 ; AVX512-NEXT: movw %ax, {{[0-9]+}}(%rsp)
36 ; AVX512-NEXT: movw $8, {{[0-9]+}}(%rsp)
37 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
38 ; AVX512-NEXT: xorl %esi, %esi
39 ; AVX512-NEXT: movl $1088, %edx # imm = 0x440
40 ; AVX512-NEXT: callq memset@PLT
41 ; AVX512-NEXT: movw $8, {{[0-9]+}}(%rsp)
42 ; AVX512-NEXT: movw {{[0-9]+}}(%rsp), %ax
43 ; AVX512-NEXT: movw %ax, {{[0-9]+}}(%rsp)
44 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
45 ; AVX512-NEXT: xorl %esi, %esi
46 ; AVX512-NEXT: movl $1088, %edx # imm = 0x440
47 ; AVX512-NEXT: callq memset@PLT
48 ; AVX512-NEXT: movw {{[0-9]+}}(%rsp), %ax
49 ; AVX512-NEXT: movw %ax, {{[0-9]+}}(%rsp)
50 ; AVX512-NEXT: movw {{[0-9]+}}(%rsp), %ax
51 ; AVX512-NEXT: movw %ax, {{[0-9]+}}(%rsp)
52 ; AVX512-NEXT: cmpl $0, {{[0-9]+}}(%rsp)
53 ; AVX512-NEXT: je .LBB0_2
54 ; AVX512-NEXT: # %bb.1: # %if.then
55 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %rax
56 ; AVX512-NEXT: movq %rax, {{[0-9]+}}(%rsp)
57 ; AVX512-NEXT: movq $buf, {{[0-9]+}}(%rsp)
58 ; AVX512-NEXT: movq $32, {{[0-9]+}}(%rsp)
59 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax
60 ; AVX512-NEXT: movw (%rax), %si
61 ; AVX512-NEXT: movw 2(%rax), %dx
62 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rcx
63 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax
64 ; AVX512-NEXT: movw %si, {{[0-9]+}}(%rsp)
65 ; AVX512-NEXT: movw %dx, {{[0-9]+}}(%rsp)
66 ; AVX512-NEXT: movq %rcx, {{[0-9]+}}(%rsp)
67 ; AVX512-NEXT: movq %rax, {{[0-9]+}}(%rsp)
68 ; AVX512-NEXT: movw {{[0-9]+}}(%rsp), %ax
69 ; AVX512-NEXT: movw {{[0-9]+}}(%rsp), %cx
70 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rdx
71 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rsi
72 ; AVX512-NEXT: vxorps %xmm0, %xmm0, %xmm0
73 ; AVX512-NEXT: vmovdqu64 %zmm0, {{[0-9]+}}(%rsp)
74 ; AVX512-NEXT: movb $1, {{[0-9]+}}(%rsp)
75 ; AVX512-NEXT: movb %al, %dil
76 ; AVX512-NEXT: movb %dil, {{[0-9]+}}(%rsp)
77 ; AVX512-NEXT: movw %cx, {{[0-9]+}}(%rsp)
78 ; AVX512-NEXT: ldtilecfg {{[0-9]+}}(%rsp)
79 ; AVX512-NEXT: tileloadd (%rdx,%rsi), %tmm0
80 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rdx
81 ; AVX512-NEXT: addq $64, %rdx
82 ; AVX512-NEXT: movl $64, %esi
83 ; AVX512-NEXT: tilestored %tmm0, (%rdx,%rsi)
84 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %rax
85 ; AVX512-NEXT: movq %rax, {{[0-9]+}}(%rsp)
86 ; AVX512-NEXT: movq $buf, {{[0-9]+}}(%rsp)
87 ; AVX512-NEXT: movq $32, {{[0-9]+}}(%rsp)
88 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax
89 ; AVX512-NEXT: movw (%rax), %di
90 ; AVX512-NEXT: movw 2(%rax), %dx
91 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rcx
92 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax
93 ; AVX512-NEXT: movw %di, {{[0-9]+}}(%rsp)
94 ; AVX512-NEXT: movw %dx, {{[0-9]+}}(%rsp)
95 ; AVX512-NEXT: movq %rcx, {{[0-9]+}}(%rsp)
96 ; AVX512-NEXT: movq %rax, {{[0-9]+}}(%rsp)
97 ; AVX512-NEXT: movw {{[0-9]+}}(%rsp), %ax
98 ; AVX512-NEXT: movw {{[0-9]+}}(%rsp), %cx
99 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rdx
100 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rdi
101 ; AVX512-NEXT: vmovdqu64 %zmm0, {{[0-9]+}}(%rsp)
102 ; AVX512-NEXT: movb $1, {{[0-9]+}}(%rsp)
103 ; AVX512-NEXT: movb %al, %r8b
104 ; AVX512-NEXT: movb %r8b, {{[0-9]+}}(%rsp)
105 ; AVX512-NEXT: movw %cx, {{[0-9]+}}(%rsp)
106 ; AVX512-NEXT: ldtilecfg {{[0-9]+}}(%rsp)
107 ; AVX512-NEXT: tileloadd (%rdx,%rdi), %tmm0
108 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rdx
109 ; AVX512-NEXT: addq $64, %rdx
110 ; AVX512-NEXT: tilestored %tmm0, (%rdx,%rsi)
111 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %rax
112 ; AVX512-NEXT: movq %rax, {{[0-9]+}}(%rsp)
113 ; AVX512-NEXT: movq $buf, {{[0-9]+}}(%rsp)
114 ; AVX512-NEXT: movq $32, {{[0-9]+}}(%rsp)
115 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax
116 ; AVX512-NEXT: movw (%rax), %si
117 ; AVX512-NEXT: movw 2(%rax), %dx
118 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rcx
119 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax
120 ; AVX512-NEXT: movw %si, {{[0-9]+}}(%rsp)
121 ; AVX512-NEXT: movw %dx, {{[0-9]+}}(%rsp)
122 ; AVX512-NEXT: movq %rcx, {{[0-9]+}}(%rsp)
123 ; AVX512-NEXT: movq %rax, {{[0-9]+}}(%rsp)
124 ; AVX512-NEXT: movw {{[0-9]+}}(%rsp), %ax
125 ; AVX512-NEXT: movw {{[0-9]+}}(%rsp), %cx
126 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rdx
127 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rsi
128 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
129 ; AVX512-NEXT: vmovdqu64 %zmm0, {{[0-9]+}}(%rsp)
130 ; AVX512-NEXT: movb $1, {{[0-9]+}}(%rsp)
131 ; AVX512-NEXT: movb %al, %r8b
132 ; AVX512-NEXT: movb %r8b, {{[0-9]+}}(%rsp)
133 ; AVX512-NEXT: movw %cx, {{[0-9]+}}(%rsp)
134 ; AVX512-NEXT: ldtilecfg (%rdi)
135 ; AVX512-NEXT: tileloadd (%rdx,%rsi), %tmm0
136 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rdx
137 ; AVX512-NEXT: addq $64, %rdx
138 ; AVX512-NEXT: movl $64, %esi
139 ; AVX512-NEXT: tilestored %tmm0, (%rdx,%rsi)
140 ; AVX512-NEXT: jmp .LBB0_3
141 ; AVX512-NEXT: .LBB0_2: # %if.else
142 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %rax
143 ; AVX512-NEXT: movq %rax, {{[0-9]+}}(%rsp)
144 ; AVX512-NEXT: movq $buf2, {{[0-9]+}}(%rsp)
145 ; AVX512-NEXT: movq $32, {{[0-9]+}}(%rsp)
146 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax
147 ; AVX512-NEXT: movw (%rax), %si
148 ; AVX512-NEXT: movw 2(%rax), %dx
149 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rcx
150 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax
151 ; AVX512-NEXT: movw %si, {{[0-9]+}}(%rsp)
152 ; AVX512-NEXT: movw %dx, {{[0-9]+}}(%rsp)
153 ; AVX512-NEXT: movq %rcx, {{[0-9]+}}(%rsp)
154 ; AVX512-NEXT: movq %rax, {{[0-9]+}}(%rsp)
155 ; AVX512-NEXT: movw {{[0-9]+}}(%rsp), %ax
156 ; AVX512-NEXT: movw {{[0-9]+}}(%rsp), %cx
157 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rdx
158 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rsi
159 ; AVX512-NEXT: vxorps %xmm0, %xmm0, %xmm0
160 ; AVX512-NEXT: vmovdqu64 %zmm0, {{[0-9]+}}(%rsp)
161 ; AVX512-NEXT: movb $1, {{[0-9]+}}(%rsp)
162 ; AVX512-NEXT: movb %al, %dil
163 ; AVX512-NEXT: movb %dil, {{[0-9]+}}(%rsp)
164 ; AVX512-NEXT: movw %cx, {{[0-9]+}}(%rsp)
165 ; AVX512-NEXT: ldtilecfg {{[0-9]+}}(%rsp)
166 ; AVX512-NEXT: tileloadd (%rdx,%rsi), %tmm0
167 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rdx
168 ; AVX512-NEXT: addq $64, %rdx
169 ; AVX512-NEXT: movl $64, %esi
170 ; AVX512-NEXT: tilestored %tmm0, (%rdx,%rsi)
171 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %rax
172 ; AVX512-NEXT: movq %rax, {{[0-9]+}}(%rsp)
173 ; AVX512-NEXT: movq $buf2, {{[0-9]+}}(%rsp)
174 ; AVX512-NEXT: movq $32, {{[0-9]+}}(%rsp)
175 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax
176 ; AVX512-NEXT: movw (%rax), %di
177 ; AVX512-NEXT: movw 2(%rax), %dx
178 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rcx
179 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax
180 ; AVX512-NEXT: movw %di, {{[0-9]+}}(%rsp)
181 ; AVX512-NEXT: movw %dx, {{[0-9]+}}(%rsp)
182 ; AVX512-NEXT: movq %rcx, {{[0-9]+}}(%rsp)
183 ; AVX512-NEXT: movq %rax, {{[0-9]+}}(%rsp)
184 ; AVX512-NEXT: movw {{[0-9]+}}(%rsp), %ax
185 ; AVX512-NEXT: movw {{[0-9]+}}(%rsp), %cx
186 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rdx
187 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rdi
188 ; AVX512-NEXT: vmovdqu64 %zmm0, {{[0-9]+}}(%rsp)
189 ; AVX512-NEXT: movb $1, {{[0-9]+}}(%rsp)
190 ; AVX512-NEXT: movb %al, %r8b
191 ; AVX512-NEXT: movb %r8b, {{[0-9]+}}(%rsp)
192 ; AVX512-NEXT: movw %cx, {{[0-9]+}}(%rsp)
193 ; AVX512-NEXT: ldtilecfg {{[0-9]+}}(%rsp)
194 ; AVX512-NEXT: tileloadd (%rdx,%rdi), %tmm0
195 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rdx
196 ; AVX512-NEXT: addq $64, %rdx
197 ; AVX512-NEXT: tilestored %tmm0, (%rdx,%rsi)
198 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %rax
199 ; AVX512-NEXT: movq %rax, {{[0-9]+}}(%rsp)
200 ; AVX512-NEXT: movq $buf2, {{[0-9]+}}(%rsp)
201 ; AVX512-NEXT: movq $32, {{[0-9]+}}(%rsp)
202 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax
203 ; AVX512-NEXT: movw (%rax), %si
204 ; AVX512-NEXT: movw 2(%rax), %dx
205 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rcx
206 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax
207 ; AVX512-NEXT: movw %si, {{[0-9]+}}(%rsp)
208 ; AVX512-NEXT: movw %dx, {{[0-9]+}}(%rsp)
209 ; AVX512-NEXT: movq %rcx, {{[0-9]+}}(%rsp)
210 ; AVX512-NEXT: movq %rax, {{[0-9]+}}(%rsp)
211 ; AVX512-NEXT: movw {{[0-9]+}}(%rsp), %ax
212 ; AVX512-NEXT: movw {{[0-9]+}}(%rsp), %cx
213 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rdx
214 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rsi
215 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
216 ; AVX512-NEXT: vmovdqu64 %zmm0, {{[0-9]+}}(%rsp)
217 ; AVX512-NEXT: movb $1, {{[0-9]+}}(%rsp)
218 ; AVX512-NEXT: movb %al, %r8b
219 ; AVX512-NEXT: movb %r8b, {{[0-9]+}}(%rsp)
220 ; AVX512-NEXT: movw %cx, {{[0-9]+}}(%rsp)
221 ; AVX512-NEXT: ldtilecfg (%rdi)
222 ; AVX512-NEXT: tileloadd (%rdx,%rsi), %tmm0
223 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rdx
224 ; AVX512-NEXT: addq $64, %rdx
225 ; AVX512-NEXT: movl $64, %esi
226 ; AVX512-NEXT: tilestored %tmm0, (%rdx,%rsi)
227 ; AVX512-NEXT: .LBB0_3: # %if.end
228 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
229 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %rsi
230 ; AVX512-NEXT: movl $1088, %edx # imm = 0x440
231 ; AVX512-NEXT: movq %rdx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
232 ; AVX512-NEXT: vzeroupper
233 ; AVX512-NEXT: callq memcpy@PLT
234 ; AVX512-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Reload
235 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
236 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %rsi
237 ; AVX512-NEXT: callq memcpy@PLT
238 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %rax
239 ; AVX512-NEXT: movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
240 ; AVX512-NEXT: movq %rax, {{[0-9]+}}(%rsp)
241 ; AVX512-NEXT: movw {{[0-9]+}}(%rsp), %ax
242 ; AVX512-NEXT: movw %ax, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill
243 ; AVX512-NEXT: movw {{[0-9]+}}(%rsp), %ax
244 ; AVX512-NEXT: movw %ax, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill
245 ; AVX512-NEXT: movw {{[0-9]+}}(%rsp), %ax
246 ; AVX512-NEXT: movw %ax, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill
247 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax
248 ; AVX512-NEXT: vmovdqa64 64(%rax), %zmm0
249 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
250 ; AVX512-NEXT: vmovdqa64 128(%rax), %zmm0
251 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
252 ; AVX512-NEXT: vmovdqa64 192(%rax), %zmm0
253 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
254 ; AVX512-NEXT: vmovdqa64 256(%rax), %zmm0
255 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
256 ; AVX512-NEXT: vmovdqa64 320(%rax), %zmm0
257 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
258 ; AVX512-NEXT: vmovdqa64 384(%rax), %zmm0
259 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
260 ; AVX512-NEXT: vmovdqa64 448(%rax), %zmm0
261 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
262 ; AVX512-NEXT: vmovdqa64 512(%rax), %zmm0
263 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
264 ; AVX512-NEXT: vmovdqa64 576(%rax), %zmm0
265 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
266 ; AVX512-NEXT: vmovdqa64 640(%rax), %zmm0
267 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
268 ; AVX512-NEXT: vmovdqa64 704(%rax), %zmm0
269 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
270 ; AVX512-NEXT: vmovdqa64 768(%rax), %zmm0
271 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
272 ; AVX512-NEXT: vmovdqa64 832(%rax), %zmm0
273 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
274 ; AVX512-NEXT: vmovdqa64 896(%rax), %zmm0
275 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
276 ; AVX512-NEXT: vmovdqa64 960(%rax), %zmm0
277 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
278 ; AVX512-NEXT: vmovdqa64 1024(%rax), %zmm0
279 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm16
280 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm17
281 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm18
282 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm19
283 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm20
284 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm21
285 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm22
286 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm23
287 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm24
288 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm25
289 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm26
290 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm27
291 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm28
292 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm29
293 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm30
294 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm31
295 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm1
296 ; AVX512-NEXT: vmovaps %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
297 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm1
298 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm2
299 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm3
300 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm4
301 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm5
302 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm6
303 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm7
304 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm8
305 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm9
306 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm10
307 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm11
308 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm12
309 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm13
310 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm14
311 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm15
312 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
313 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
314 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
315 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
316 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
317 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
318 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
319 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
320 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
321 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
322 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
323 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
324 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
325 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
326 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
327 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
328 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
329 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
330 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
331 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
332 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
333 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
334 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
335 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
336 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
337 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
338 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
339 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
340 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
341 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
342 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
343 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
344 ; AVX512-NEXT: vmovdqa64 %zmm31, {{[0-9]+}}(%rsp)
345 ; AVX512-NEXT: vmovdqa64 %zmm30, {{[0-9]+}}(%rsp)
346 ; AVX512-NEXT: vmovdqa64 %zmm29, {{[0-9]+}}(%rsp)
347 ; AVX512-NEXT: vmovdqa64 %zmm28, {{[0-9]+}}(%rsp)
348 ; AVX512-NEXT: vmovdqa64 %zmm27, {{[0-9]+}}(%rsp)
349 ; AVX512-NEXT: vmovdqa64 %zmm26, {{[0-9]+}}(%rsp)
350 ; AVX512-NEXT: vmovdqa64 %zmm25, {{[0-9]+}}(%rsp)
351 ; AVX512-NEXT: vmovdqa64 %zmm24, {{[0-9]+}}(%rsp)
352 ; AVX512-NEXT: vmovdqa64 %zmm23, {{[0-9]+}}(%rsp)
353 ; AVX512-NEXT: vmovdqa64 %zmm22, {{[0-9]+}}(%rsp)
354 ; AVX512-NEXT: vmovdqa64 %zmm21, {{[0-9]+}}(%rsp)
355 ; AVX512-NEXT: vmovdqa64 %zmm20, {{[0-9]+}}(%rsp)
356 ; AVX512-NEXT: vmovdqa64 %zmm19, {{[0-9]+}}(%rsp)
357 ; AVX512-NEXT: vmovdqa64 %zmm18, {{[0-9]+}}(%rsp)
358 ; AVX512-NEXT: vmovdqa64 %zmm17, {{[0-9]+}}(%rsp)
359 ; AVX512-NEXT: vmovdqa64 %zmm16, {{[0-9]+}}(%rsp)
360 ; AVX512-NEXT: vmovdqa64 %zmm15, {{[0-9]+}}(%rsp)
361 ; AVX512-NEXT: vmovdqa64 %zmm14, {{[0-9]+}}(%rsp)
362 ; AVX512-NEXT: vmovdqa64 %zmm13, {{[0-9]+}}(%rsp)
363 ; AVX512-NEXT: vmovdqa64 %zmm12, {{[0-9]+}}(%rsp)
364 ; AVX512-NEXT: vmovdqa64 %zmm11, {{[0-9]+}}(%rsp)
365 ; AVX512-NEXT: vmovdqa64 %zmm10, {{[0-9]+}}(%rsp)
366 ; AVX512-NEXT: vmovdqa64 %zmm9, {{[0-9]+}}(%rsp)
367 ; AVX512-NEXT: vmovdqa64 %zmm8, {{[0-9]+}}(%rsp)
368 ; AVX512-NEXT: vmovdqa64 %zmm7, {{[0-9]+}}(%rsp)
369 ; AVX512-NEXT: vmovdqa64 %zmm6, {{[0-9]+}}(%rsp)
370 ; AVX512-NEXT: vmovdqa64 %zmm5, {{[0-9]+}}(%rsp)
371 ; AVX512-NEXT: vmovdqa64 %zmm4, {{[0-9]+}}(%rsp)
372 ; AVX512-NEXT: vmovdqa64 %zmm3, {{[0-9]+}}(%rsp)
373 ; AVX512-NEXT: vmovdqa64 %zmm2, {{[0-9]+}}(%rsp)
374 ; AVX512-NEXT: vmovdqa64 %zmm1, {{[0-9]+}}(%rsp)
375 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
376 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
377 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %rsi
378 ; AVX512-NEXT: movl $1024, %edx # imm = 0x400
379 ; AVX512-NEXT: movq %rdx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
380 ; AVX512-NEXT: vzeroupper
381 ; AVX512-NEXT: callq memcpy@PLT
382 ; AVX512-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Reload
383 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
384 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %rsi
385 ; AVX512-NEXT: callq memcpy@PLT
386 ; AVX512-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Reload
387 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
388 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %rsi
389 ; AVX512-NEXT: callq memcpy@PLT
390 ; AVX512-NEXT: movw {{[-0-9]+}}(%r{{[sb]}}p), %di # 2-byte Reload
391 ; AVX512-NEXT: movw {{[-0-9]+}}(%r{{[sb]}}p), %cx # 2-byte Reload
392 ; AVX512-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload
393 ; AVX512-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Reload
394 ; AVX512-NEXT: # kill: def $r8 killed $rax
395 ; AVX512-NEXT: movw {{[-0-9]+}}(%r{{[sb]}}p), %ax # 2-byte Reload
396 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm0
397 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
398 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm0
399 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
400 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm0
401 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
402 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm0
403 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
404 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm0
405 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
406 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm0
407 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
408 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm0
409 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
410 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm0
411 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
412 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm0
413 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
414 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm0
415 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
416 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm0
417 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
418 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm0
419 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
420 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm0
421 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
422 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm0
423 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
424 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm0
425 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
426 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm0
427 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm16
428 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm17
429 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm18
430 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm19
431 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm20
432 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm21
433 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm22
434 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm23
435 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm24
436 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm25
437 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm26
438 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm27
439 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm28
440 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm29
441 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm30
442 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm31
443 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm1
444 ; AVX512-NEXT: vmovaps %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
445 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm1
446 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm2
447 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm3
448 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm4
449 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm5
450 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm6
451 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm7
452 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm8
453 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm9
454 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm10
455 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm11
456 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm12
457 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm13
458 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm14
459 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm15
460 ; AVX512-NEXT: movw %di, {{[0-9]+}}(%rsp)
461 ; AVX512-NEXT: movw %cx, {{[0-9]+}}(%rsp)
462 ; AVX512-NEXT: movw %ax, {{[0-9]+}}(%rsp)
463 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
464 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
465 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
466 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
467 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
468 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
469 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
470 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
471 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
472 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
473 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
474 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
475 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
476 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
477 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
478 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
479 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
480 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
481 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
482 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
483 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
484 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
485 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
486 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
487 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
488 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
489 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
490 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
491 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
492 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
493 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
494 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
495 ; AVX512-NEXT: vmovdqa64 %zmm31, {{[0-9]+}}(%rsp)
496 ; AVX512-NEXT: vmovdqa64 %zmm30, {{[0-9]+}}(%rsp)
497 ; AVX512-NEXT: vmovdqa64 %zmm29, {{[0-9]+}}(%rsp)
498 ; AVX512-NEXT: vmovdqa64 %zmm28, {{[0-9]+}}(%rsp)
499 ; AVX512-NEXT: vmovdqa64 %zmm27, {{[0-9]+}}(%rsp)
500 ; AVX512-NEXT: vmovdqa64 %zmm26, {{[0-9]+}}(%rsp)
501 ; AVX512-NEXT: vmovdqa64 %zmm25, {{[0-9]+}}(%rsp)
502 ; AVX512-NEXT: vmovdqa64 %zmm24, {{[0-9]+}}(%rsp)
503 ; AVX512-NEXT: vmovdqa64 %zmm23, {{[0-9]+}}(%rsp)
504 ; AVX512-NEXT: vmovdqa64 %zmm22, {{[0-9]+}}(%rsp)
505 ; AVX512-NEXT: vmovdqa64 %zmm21, {{[0-9]+}}(%rsp)
506 ; AVX512-NEXT: vmovdqa64 %zmm20, {{[0-9]+}}(%rsp)
507 ; AVX512-NEXT: vmovdqa64 %zmm19, {{[0-9]+}}(%rsp)
508 ; AVX512-NEXT: vmovdqa64 %zmm18, {{[0-9]+}}(%rsp)
509 ; AVX512-NEXT: vmovdqa64 %zmm17, {{[0-9]+}}(%rsp)
510 ; AVX512-NEXT: vmovdqa64 %zmm16, {{[0-9]+}}(%rsp)
511 ; AVX512-NEXT: vmovdqa64 %zmm15, {{[0-9]+}}(%rsp)
512 ; AVX512-NEXT: vmovdqa64 %zmm14, {{[0-9]+}}(%rsp)
513 ; AVX512-NEXT: vmovdqa64 %zmm13, {{[0-9]+}}(%rsp)
514 ; AVX512-NEXT: vmovdqa64 %zmm12, {{[0-9]+}}(%rsp)
515 ; AVX512-NEXT: vmovdqa64 %zmm11, {{[0-9]+}}(%rsp)
516 ; AVX512-NEXT: vmovdqa64 %zmm10, {{[0-9]+}}(%rsp)
517 ; AVX512-NEXT: vmovdqa64 %zmm9, {{[0-9]+}}(%rsp)
518 ; AVX512-NEXT: vmovdqa64 %zmm8, {{[0-9]+}}(%rsp)
519 ; AVX512-NEXT: vmovdqa64 %zmm7, {{[0-9]+}}(%rsp)
520 ; AVX512-NEXT: vmovdqa64 %zmm6, {{[0-9]+}}(%rsp)
521 ; AVX512-NEXT: vmovdqa64 %zmm5, {{[0-9]+}}(%rsp)
522 ; AVX512-NEXT: vmovdqa64 %zmm4, {{[0-9]+}}(%rsp)
523 ; AVX512-NEXT: vmovdqa64 %zmm3, {{[0-9]+}}(%rsp)
524 ; AVX512-NEXT: vmovdqa64 %zmm2, {{[0-9]+}}(%rsp)
525 ; AVX512-NEXT: vmovdqa64 %zmm1, {{[0-9]+}}(%rsp)
526 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
527 ; AVX512-NEXT: movw {{[0-9]+}}(%rsp), %ax
528 ; AVX512-NEXT: movw {{[0-9]+}}(%rsp), %cx
529 ; AVX512-NEXT: movzwl {{[0-9]+}}(%rsp), %r10d
530 ; AVX512-NEXT: movw %r10w, %di
531 ; AVX512-NEXT: shrl $2, %r10d
532 ; AVX512-NEXT: movw %r10w, %r9w
533 ; AVX512-NEXT: vxorps %xmm0, %xmm0, %xmm0
534 ; AVX512-NEXT: vmovaps %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
535 ; AVX512-NEXT: vmovdqu64 %zmm0, {{[0-9]+}}(%rsp)
536 ; AVX512-NEXT: movb $1, {{[0-9]+}}(%rsp)
537 ; AVX512-NEXT: movb %al, %r8b
538 ; AVX512-NEXT: movb %r8b, {{[0-9]+}}(%rsp)
539 ; AVX512-NEXT: movw %cx, {{[0-9]+}}(%rsp)
540 ; AVX512-NEXT: movb %r8b, {{[0-9]+}}(%rsp)
541 ; AVX512-NEXT: movw %di, {{[0-9]+}}(%rsp)
542 ; AVX512-NEXT: # kill: def $r10b killed $r10b killed $r10d
543 ; AVX512-NEXT: movb %r10b, {{[0-9]+}}(%rsp)
544 ; AVX512-NEXT: movw %cx, {{[0-9]+}}(%rsp)
545 ; AVX512-NEXT: movb %r8b, {{[0-9]+}}(%rsp)
546 ; AVX512-NEXT: movw %cx, {{[0-9]+}}(%rsp)
547 ; AVX512-NEXT: ldtilecfg {{[0-9]+}}(%rsp)
548 ; AVX512-NEXT: movl $64, %r8d
549 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %r10
550 ; AVX512-NEXT: tileloadd (%r10,%r8), %tmm0
551 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %r10
552 ; AVX512-NEXT: tileloadd (%r10,%r8), %tmm1
553 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %r10
554 ; AVX512-NEXT: tileloadd (%r10,%r8), %tmm2
555 ; AVX512-NEXT: tdpbssd %tmm2, %tmm1, %tmm0
556 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rdi
557 ; AVX512-NEXT: addq $64, %rdi
558 ; AVX512-NEXT: tilestored %tmm0, (%rdi,%r8)
559 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
560 ; AVX512-NEXT: vzeroupper
561 ; AVX512-NEXT: callq memcpy@PLT
562 ; AVX512-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Reload
563 ; AVX512-NEXT: movq $buf, {{[0-9]+}}(%rsp)
564 ; AVX512-NEXT: movq $32, {{[0-9]+}}(%rsp)
565 ; AVX512-NEXT: movw {{[0-9]+}}(%rsp), %ax
566 ; AVX512-NEXT: movw %ax, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill
567 ; AVX512-NEXT: movw {{[0-9]+}}(%rsp), %ax
568 ; AVX512-NEXT: movw %ax, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill
569 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax
570 ; AVX512-NEXT: movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
571 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax
572 ; AVX512-NEXT: movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
573 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm0
574 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm1
575 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm2
576 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm3
577 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm4
578 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm5
579 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm6
580 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm7
581 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm8
582 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm9
583 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm10
584 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm11
585 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm12
586 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm13
587 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm14
588 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm15
589 ; AVX512-NEXT: vmovdqa64 %zmm15, {{[0-9]+}}(%rsp)
590 ; AVX512-NEXT: vmovdqa64 %zmm14, {{[0-9]+}}(%rsp)
591 ; AVX512-NEXT: vmovdqa64 %zmm13, {{[0-9]+}}(%rsp)
592 ; AVX512-NEXT: vmovdqa64 %zmm12, {{[0-9]+}}(%rsp)
593 ; AVX512-NEXT: vmovdqa64 %zmm11, {{[0-9]+}}(%rsp)
594 ; AVX512-NEXT: vmovdqa64 %zmm10, {{[0-9]+}}(%rsp)
595 ; AVX512-NEXT: vmovdqa64 %zmm9, {{[0-9]+}}(%rsp)
596 ; AVX512-NEXT: vmovdqa64 %zmm8, {{[0-9]+}}(%rsp)
597 ; AVX512-NEXT: vmovdqa64 %zmm7, {{[0-9]+}}(%rsp)
598 ; AVX512-NEXT: vmovdqa64 %zmm6, {{[0-9]+}}(%rsp)
599 ; AVX512-NEXT: vmovdqa64 %zmm5, {{[0-9]+}}(%rsp)
600 ; AVX512-NEXT: vmovdqa64 %zmm4, {{[0-9]+}}(%rsp)
601 ; AVX512-NEXT: vmovdqa64 %zmm3, {{[0-9]+}}(%rsp)
602 ; AVX512-NEXT: vmovdqa64 %zmm2, {{[0-9]+}}(%rsp)
603 ; AVX512-NEXT: vmovdqa64 %zmm1, {{[0-9]+}}(%rsp)
604 ; AVX512-NEXT: vmovdqa64 %zmm0, {{[0-9]+}}(%rsp)
605 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
606 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %rsi
607 ; AVX512-NEXT: vzeroupper
608 ; AVX512-NEXT: callq memcpy@PLT
609 ; AVX512-NEXT: movw {{[-0-9]+}}(%r{{[sb]}}p), %si # 2-byte Reload
610 ; AVX512-NEXT: movw {{[-0-9]+}}(%r{{[sb]}}p), %dx # 2-byte Reload
611 ; AVX512-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Reload
612 ; AVX512-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload
613 ; AVX512-NEXT: # kill: def $rdi killed $rax
614 ; AVX512-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Reload
615 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm1
616 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm2
617 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm3
618 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm4
619 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm5
620 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm6
621 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm7
622 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm8
623 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm9
624 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm10
625 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm11
626 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm12
627 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm13
628 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm14
629 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm15
630 ; AVX512-NEXT: vmovdqa64 {{[0-9]+}}(%rsp), %zmm16
631 ; AVX512-NEXT: movw %si, {{[0-9]+}}(%rsp)
632 ; AVX512-NEXT: movw %dx, {{[0-9]+}}(%rsp)
633 ; AVX512-NEXT: movq %rcx, {{[0-9]+}}(%rsp)
634 ; AVX512-NEXT: movq %rax, {{[0-9]+}}(%rsp)
635 ; AVX512-NEXT: vmovdqa64 %zmm16, {{[0-9]+}}(%rsp)
636 ; AVX512-NEXT: vmovdqa64 %zmm15, {{[0-9]+}}(%rsp)
637 ; AVX512-NEXT: vmovdqa64 %zmm14, {{[0-9]+}}(%rsp)
638 ; AVX512-NEXT: vmovdqa64 %zmm13, {{[0-9]+}}(%rsp)
639 ; AVX512-NEXT: vmovdqa64 %zmm12, {{[0-9]+}}(%rsp)
640 ; AVX512-NEXT: vmovdqa64 %zmm11, {{[0-9]+}}(%rsp)
641 ; AVX512-NEXT: vmovdqa64 %zmm10, {{[0-9]+}}(%rsp)
642 ; AVX512-NEXT: vmovdqa64 %zmm9, {{[0-9]+}}(%rsp)
643 ; AVX512-NEXT: vmovdqa64 %zmm8, {{[0-9]+}}(%rsp)
644 ; AVX512-NEXT: vmovdqa64 %zmm7, {{[0-9]+}}(%rsp)
645 ; AVX512-NEXT: vmovdqa64 %zmm6, {{[0-9]+}}(%rsp)
646 ; AVX512-NEXT: vmovdqa64 %zmm5, {{[0-9]+}}(%rsp)
647 ; AVX512-NEXT: vmovdqa64 %zmm4, {{[0-9]+}}(%rsp)
648 ; AVX512-NEXT: vmovdqa64 %zmm3, {{[0-9]+}}(%rsp)
649 ; AVX512-NEXT: vmovdqa64 %zmm2, {{[0-9]+}}(%rsp)
650 ; AVX512-NEXT: vmovdqa64 %zmm1, {{[0-9]+}}(%rsp)
651 ; AVX512-NEXT: movw {{[0-9]+}}(%rsp), %ax
652 ; AVX512-NEXT: movw {{[0-9]+}}(%rsp), %cx
653 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rdx
654 ; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rsi
655 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
656 ; AVX512-NEXT: leaq {{[0-9]+}}(%rsp), %r8
657 ; AVX512-NEXT: vmovdqu64 %zmm0, {{[0-9]+}}(%rsp)
658 ; AVX512-NEXT: movb $1, {{[0-9]+}}(%rsp)
659 ; AVX512-NEXT: movb %al, %r9b
660 ; AVX512-NEXT: movb %r9b, {{[0-9]+}}(%rsp)
661 ; AVX512-NEXT: movw %cx, {{[0-9]+}}(%rsp)
662 ; AVX512-NEXT: ldtilecfg (%r8)
663 ; AVX512-NEXT: movl $64, %r8d
664 ; AVX512-NEXT: tileloadd (%rdi,%r8), %tmm0
665 ; AVX512-NEXT: tilestored %tmm0, (%rdx,%rsi)
666 ; AVX512-NEXT: movq %rbp, %rsp
667 ; AVX512-NEXT: popq %rbp
668 ; AVX512-NEXT: .cfi_def_cfa %rsp, 8
669 ; AVX512-NEXT: tilerelease
670 ; AVX512-NEXT: vzeroupper
673 ; AVX2-LABEL: test_api:
674 ; AVX2: # %bb.0: # %entry
675 ; AVX2-NEXT: pushq %rbp
676 ; AVX2-NEXT: .cfi_def_cfa_offset 16
677 ; AVX2-NEXT: .cfi_offset %rbp, -16
678 ; AVX2-NEXT: movq %rsp, %rbp
679 ; AVX2-NEXT: .cfi_def_cfa_register %rbp
680 ; AVX2-NEXT: andq $-1024, %rsp # imm = 0xFC00
681 ; AVX2-NEXT: subq $29696, %rsp # imm = 0x7400
682 ; AVX2-NEXT: movw %dx, %ax
683 ; AVX2-NEXT: movw %si, %cx
684 ; AVX2-NEXT: movl %edi, {{[0-9]+}}(%rsp)
685 ; AVX2-NEXT: movw %cx, {{[0-9]+}}(%rsp)
686 ; AVX2-NEXT: movw %ax, {{[0-9]+}}(%rsp)
687 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
688 ; AVX2-NEXT: xorl %esi, %esi
689 ; AVX2-NEXT: movl $1088, %edx # imm = 0x440
690 ; AVX2-NEXT: callq memset@PLT
691 ; AVX2-NEXT: movw {{[0-9]+}}(%rsp), %ax
692 ; AVX2-NEXT: movw %ax, {{[0-9]+}}(%rsp)
693 ; AVX2-NEXT: movw $8, {{[0-9]+}}(%rsp)
694 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
695 ; AVX2-NEXT: xorl %esi, %esi
696 ; AVX2-NEXT: movl $1088, %edx # imm = 0x440
697 ; AVX2-NEXT: callq memset@PLT
698 ; AVX2-NEXT: movw $8, {{[0-9]+}}(%rsp)
699 ; AVX2-NEXT: movw {{[0-9]+}}(%rsp), %ax
700 ; AVX2-NEXT: movw %ax, {{[0-9]+}}(%rsp)
701 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
702 ; AVX2-NEXT: xorl %esi, %esi
703 ; AVX2-NEXT: movl $1088, %edx # imm = 0x440
704 ; AVX2-NEXT: callq memset@PLT
705 ; AVX2-NEXT: movw {{[0-9]+}}(%rsp), %ax
706 ; AVX2-NEXT: movw %ax, {{[0-9]+}}(%rsp)
707 ; AVX2-NEXT: movw {{[0-9]+}}(%rsp), %ax
708 ; AVX2-NEXT: movw %ax, {{[0-9]+}}(%rsp)
709 ; AVX2-NEXT: cmpl $0, {{[0-9]+}}(%rsp)
710 ; AVX2-NEXT: je .LBB0_2
711 ; AVX2-NEXT: # %bb.1: # %if.then
712 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %rax
713 ; AVX2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
714 ; AVX2-NEXT: movq $buf, {{[0-9]+}}(%rsp)
715 ; AVX2-NEXT: movq $32, {{[0-9]+}}(%rsp)
716 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax
717 ; AVX2-NEXT: movw (%rax), %si
718 ; AVX2-NEXT: movw 2(%rax), %dx
719 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rcx
720 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax
721 ; AVX2-NEXT: movw %si, {{[0-9]+}}(%rsp)
722 ; AVX2-NEXT: movw %dx, {{[0-9]+}}(%rsp)
723 ; AVX2-NEXT: movq %rcx, {{[0-9]+}}(%rsp)
724 ; AVX2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
725 ; AVX2-NEXT: movw {{[0-9]+}}(%rsp), %ax
726 ; AVX2-NEXT: movw {{[0-9]+}}(%rsp), %cx
727 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rdx
728 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rsi
729 ; AVX2-NEXT: vxorps %xmm0, %xmm0, %xmm0
730 ; AVX2-NEXT: vmovups %ymm0, {{[0-9]+}}(%rsp)
731 ; AVX2-NEXT: vmovups %ymm0, {{[0-9]+}}(%rsp)
732 ; AVX2-NEXT: movb $1, {{[0-9]+}}(%rsp)
733 ; AVX2-NEXT: movb %al, %dil
734 ; AVX2-NEXT: movb %dil, {{[0-9]+}}(%rsp)
735 ; AVX2-NEXT: movw %cx, {{[0-9]+}}(%rsp)
736 ; AVX2-NEXT: ldtilecfg {{[0-9]+}}(%rsp)
737 ; AVX2-NEXT: tileloadd (%rdx,%rsi), %tmm0
738 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rdx
739 ; AVX2-NEXT: addq $64, %rdx
740 ; AVX2-NEXT: movl $64, %esi
741 ; AVX2-NEXT: tilestored %tmm0, (%rdx,%rsi)
742 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %rax
743 ; AVX2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
744 ; AVX2-NEXT: movq $buf, {{[0-9]+}}(%rsp)
745 ; AVX2-NEXT: movq $32, {{[0-9]+}}(%rsp)
746 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax
747 ; AVX2-NEXT: movw (%rax), %di
748 ; AVX2-NEXT: movw 2(%rax), %dx
749 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rcx
750 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax
751 ; AVX2-NEXT: movw %di, {{[0-9]+}}(%rsp)
752 ; AVX2-NEXT: movw %dx, {{[0-9]+}}(%rsp)
753 ; AVX2-NEXT: movq %rcx, {{[0-9]+}}(%rsp)
754 ; AVX2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
755 ; AVX2-NEXT: movw {{[0-9]+}}(%rsp), %ax
756 ; AVX2-NEXT: movw {{[0-9]+}}(%rsp), %cx
757 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rdx
758 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rdi
759 ; AVX2-NEXT: vmovups %ymm0, {{[0-9]+}}(%rsp)
760 ; AVX2-NEXT: vmovups %ymm0, {{[0-9]+}}(%rsp)
761 ; AVX2-NEXT: movb $1, {{[0-9]+}}(%rsp)
762 ; AVX2-NEXT: movb %al, %r8b
763 ; AVX2-NEXT: movb %r8b, {{[0-9]+}}(%rsp)
764 ; AVX2-NEXT: movw %cx, {{[0-9]+}}(%rsp)
765 ; AVX2-NEXT: ldtilecfg {{[0-9]+}}(%rsp)
766 ; AVX2-NEXT: tileloadd (%rdx,%rdi), %tmm0
767 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rdx
768 ; AVX2-NEXT: addq $64, %rdx
769 ; AVX2-NEXT: tilestored %tmm0, (%rdx,%rsi)
770 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %rax
771 ; AVX2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
772 ; AVX2-NEXT: movq $buf, {{[0-9]+}}(%rsp)
773 ; AVX2-NEXT: movq $32, {{[0-9]+}}(%rsp)
774 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax
775 ; AVX2-NEXT: movw (%rax), %si
776 ; AVX2-NEXT: movw 2(%rax), %dx
777 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rcx
778 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax
779 ; AVX2-NEXT: movw %si, {{[0-9]+}}(%rsp)
780 ; AVX2-NEXT: movw %dx, {{[0-9]+}}(%rsp)
781 ; AVX2-NEXT: movq %rcx, {{[0-9]+}}(%rsp)
782 ; AVX2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
783 ; AVX2-NEXT: movw {{[0-9]+}}(%rsp), %ax
784 ; AVX2-NEXT: movw {{[0-9]+}}(%rsp), %cx
785 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rdx
786 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rsi
787 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
788 ; AVX2-NEXT: vmovups %ymm0, {{[0-9]+}}(%rsp)
789 ; AVX2-NEXT: vmovups %ymm0, {{[0-9]+}}(%rsp)
790 ; AVX2-NEXT: movb $1, {{[0-9]+}}(%rsp)
791 ; AVX2-NEXT: movb %al, %r8b
792 ; AVX2-NEXT: movb %r8b, {{[0-9]+}}(%rsp)
793 ; AVX2-NEXT: movw %cx, {{[0-9]+}}(%rsp)
794 ; AVX2-NEXT: ldtilecfg (%rdi)
795 ; AVX2-NEXT: tileloadd (%rdx,%rsi), %tmm0
796 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rdx
797 ; AVX2-NEXT: addq $64, %rdx
798 ; AVX2-NEXT: movl $64, %esi
799 ; AVX2-NEXT: tilestored %tmm0, (%rdx,%rsi)
800 ; AVX2-NEXT: jmp .LBB0_3
801 ; AVX2-NEXT: .LBB0_2: # %if.else
802 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %rax
803 ; AVX2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
804 ; AVX2-NEXT: movq $buf2, {{[0-9]+}}(%rsp)
805 ; AVX2-NEXT: movq $32, {{[0-9]+}}(%rsp)
806 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax
807 ; AVX2-NEXT: movw (%rax), %si
808 ; AVX2-NEXT: movw 2(%rax), %dx
809 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rcx
810 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax
811 ; AVX2-NEXT: movw %si, {{[0-9]+}}(%rsp)
812 ; AVX2-NEXT: movw %dx, {{[0-9]+}}(%rsp)
813 ; AVX2-NEXT: movq %rcx, {{[0-9]+}}(%rsp)
814 ; AVX2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
815 ; AVX2-NEXT: movw {{[0-9]+}}(%rsp), %ax
816 ; AVX2-NEXT: movw {{[0-9]+}}(%rsp), %cx
817 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rdx
818 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rsi
819 ; AVX2-NEXT: vxorps %xmm0, %xmm0, %xmm0
820 ; AVX2-NEXT: vmovups %ymm0, {{[0-9]+}}(%rsp)
821 ; AVX2-NEXT: vmovups %ymm0, {{[0-9]+}}(%rsp)
822 ; AVX2-NEXT: movb $1, {{[0-9]+}}(%rsp)
823 ; AVX2-NEXT: movb %al, %dil
824 ; AVX2-NEXT: movb %dil, {{[0-9]+}}(%rsp)
825 ; AVX2-NEXT: movw %cx, {{[0-9]+}}(%rsp)
826 ; AVX2-NEXT: ldtilecfg {{[0-9]+}}(%rsp)
827 ; AVX2-NEXT: tileloadd (%rdx,%rsi), %tmm0
828 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rdx
829 ; AVX2-NEXT: addq $64, %rdx
830 ; AVX2-NEXT: movl $64, %esi
831 ; AVX2-NEXT: tilestored %tmm0, (%rdx,%rsi)
832 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %rax
833 ; AVX2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
834 ; AVX2-NEXT: movq $buf2, {{[0-9]+}}(%rsp)
835 ; AVX2-NEXT: movq $32, {{[0-9]+}}(%rsp)
836 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax
837 ; AVX2-NEXT: movw (%rax), %di
838 ; AVX2-NEXT: movw 2(%rax), %dx
839 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rcx
840 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax
841 ; AVX2-NEXT: movw %di, {{[0-9]+}}(%rsp)
842 ; AVX2-NEXT: movw %dx, {{[0-9]+}}(%rsp)
843 ; AVX2-NEXT: movq %rcx, {{[0-9]+}}(%rsp)
844 ; AVX2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
845 ; AVX2-NEXT: movw {{[0-9]+}}(%rsp), %ax
846 ; AVX2-NEXT: movw {{[0-9]+}}(%rsp), %cx
847 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rdx
848 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rdi
849 ; AVX2-NEXT: vmovups %ymm0, {{[0-9]+}}(%rsp)
850 ; AVX2-NEXT: vmovups %ymm0, {{[0-9]+}}(%rsp)
851 ; AVX2-NEXT: movb $1, {{[0-9]+}}(%rsp)
852 ; AVX2-NEXT: movb %al, %r8b
853 ; AVX2-NEXT: movb %r8b, {{[0-9]+}}(%rsp)
854 ; AVX2-NEXT: movw %cx, {{[0-9]+}}(%rsp)
855 ; AVX2-NEXT: ldtilecfg {{[0-9]+}}(%rsp)
856 ; AVX2-NEXT: tileloadd (%rdx,%rdi), %tmm0
857 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rdx
858 ; AVX2-NEXT: addq $64, %rdx
859 ; AVX2-NEXT: tilestored %tmm0, (%rdx,%rsi)
860 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %rax
861 ; AVX2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
862 ; AVX2-NEXT: movq $buf2, {{[0-9]+}}(%rsp)
863 ; AVX2-NEXT: movq $32, {{[0-9]+}}(%rsp)
864 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax
865 ; AVX2-NEXT: movw (%rax), %si
866 ; AVX2-NEXT: movw 2(%rax), %dx
867 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rcx
868 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax
869 ; AVX2-NEXT: movw %si, {{[0-9]+}}(%rsp)
870 ; AVX2-NEXT: movw %dx, {{[0-9]+}}(%rsp)
871 ; AVX2-NEXT: movq %rcx, {{[0-9]+}}(%rsp)
872 ; AVX2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
873 ; AVX2-NEXT: movw {{[0-9]+}}(%rsp), %ax
874 ; AVX2-NEXT: movw {{[0-9]+}}(%rsp), %cx
875 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rdx
876 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rsi
877 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
878 ; AVX2-NEXT: vmovups %ymm0, {{[0-9]+}}(%rsp)
879 ; AVX2-NEXT: vmovups %ymm0, {{[0-9]+}}(%rsp)
880 ; AVX2-NEXT: movb $1, {{[0-9]+}}(%rsp)
881 ; AVX2-NEXT: movb %al, %r8b
882 ; AVX2-NEXT: movb %r8b, {{[0-9]+}}(%rsp)
883 ; AVX2-NEXT: movw %cx, {{[0-9]+}}(%rsp)
884 ; AVX2-NEXT: ldtilecfg (%rdi)
885 ; AVX2-NEXT: tileloadd (%rdx,%rsi), %tmm0
886 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rdx
887 ; AVX2-NEXT: addq $64, %rdx
888 ; AVX2-NEXT: movl $64, %esi
889 ; AVX2-NEXT: tilestored %tmm0, (%rdx,%rsi)
890 ; AVX2-NEXT: .LBB0_3: # %if.end
891 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
892 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %rsi
893 ; AVX2-NEXT: movl $1088, %edx # imm = 0x440
894 ; AVX2-NEXT: movq %rdx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
895 ; AVX2-NEXT: vzeroupper
896 ; AVX2-NEXT: callq memcpy@PLT
897 ; AVX2-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Reload
898 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
899 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %rsi
900 ; AVX2-NEXT: callq memcpy@PLT
901 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %rax
902 ; AVX2-NEXT: movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
903 ; AVX2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
904 ; AVX2-NEXT: movw {{[0-9]+}}(%rsp), %ax
905 ; AVX2-NEXT: movw %ax, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill
906 ; AVX2-NEXT: movw {{[0-9]+}}(%rsp), %ax
907 ; AVX2-NEXT: movw %ax, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill
908 ; AVX2-NEXT: movw {{[0-9]+}}(%rsp), %ax
909 ; AVX2-NEXT: movw %ax, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill
910 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax
911 ; AVX2-NEXT: vmovaps 64(%rax), %ymm0
912 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
913 ; AVX2-NEXT: vmovaps 96(%rax), %ymm0
914 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
915 ; AVX2-NEXT: vmovaps 128(%rax), %ymm0
916 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
917 ; AVX2-NEXT: vmovaps 160(%rax), %ymm0
918 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
919 ; AVX2-NEXT: vmovaps 192(%rax), %ymm0
920 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
921 ; AVX2-NEXT: vmovaps 224(%rax), %ymm0
922 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
923 ; AVX2-NEXT: vmovaps 256(%rax), %ymm0
924 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
925 ; AVX2-NEXT: vmovaps 288(%rax), %ymm0
926 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
927 ; AVX2-NEXT: vmovaps 320(%rax), %ymm0
928 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
929 ; AVX2-NEXT: vmovaps 352(%rax), %ymm0
930 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
931 ; AVX2-NEXT: vmovaps 384(%rax), %ymm0
932 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
933 ; AVX2-NEXT: vmovaps 416(%rax), %ymm0
934 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
935 ; AVX2-NEXT: vmovaps 448(%rax), %ymm0
936 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
937 ; AVX2-NEXT: vmovaps 480(%rax), %ymm0
938 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
939 ; AVX2-NEXT: vmovaps 512(%rax), %ymm0
940 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
941 ; AVX2-NEXT: vmovaps 544(%rax), %ymm0
942 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
943 ; AVX2-NEXT: vmovaps 576(%rax), %ymm0
944 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
945 ; AVX2-NEXT: vmovaps 608(%rax), %ymm0
946 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
947 ; AVX2-NEXT: vmovaps 640(%rax), %ymm0
948 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
949 ; AVX2-NEXT: vmovaps 672(%rax), %ymm0
950 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
951 ; AVX2-NEXT: vmovaps 704(%rax), %ymm0
952 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
953 ; AVX2-NEXT: vmovaps 736(%rax), %ymm0
954 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
955 ; AVX2-NEXT: vmovaps 768(%rax), %ymm0
956 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
957 ; AVX2-NEXT: vmovaps 800(%rax), %ymm0
958 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
959 ; AVX2-NEXT: vmovaps 832(%rax), %ymm0
960 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
961 ; AVX2-NEXT: vmovaps 864(%rax), %ymm0
962 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
963 ; AVX2-NEXT: vmovaps 896(%rax), %ymm0
964 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
965 ; AVX2-NEXT: vmovaps 928(%rax), %ymm0
966 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
967 ; AVX2-NEXT: vmovaps 960(%rax), %ymm0
968 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
969 ; AVX2-NEXT: vmovaps 992(%rax), %ymm0
970 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
971 ; AVX2-NEXT: vmovaps 1024(%rax), %ymm0
972 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
973 ; AVX2-NEXT: vmovaps 1056(%rax), %ymm0
974 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
975 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
976 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
977 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
978 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
979 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
980 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
981 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
982 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
983 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
984 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
985 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
986 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
987 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
988 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
989 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
990 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
991 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
992 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
993 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
994 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
995 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
996 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
997 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
998 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
999 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1000 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1001 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1002 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1003 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1004 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1005 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1006 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1007 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1008 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1009 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1010 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1011 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1012 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1013 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1014 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1015 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1016 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1017 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1018 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1019 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1020 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1021 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1022 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1023 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1024 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1025 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1026 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1027 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1028 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1029 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1030 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1031 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1032 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1033 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1034 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1035 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1036 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1037 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1038 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1039 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1040 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1041 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm1
1042 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm2
1043 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm3
1044 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm4
1045 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm5
1046 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm6
1047 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm7
1048 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm8
1049 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm9
1050 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm10
1051 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm11
1052 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm12
1053 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm13
1054 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm14
1055 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm15
1056 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1057 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1058 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1059 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1060 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1061 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1062 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1063 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1064 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1065 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1066 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1067 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1068 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1069 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1070 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1071 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1072 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1073 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1074 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1075 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1076 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1077 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1078 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1079 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1080 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1081 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1082 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1083 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1084 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1085 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1086 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1087 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1088 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1089 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1090 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1091 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1092 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1093 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1094 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1095 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1096 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1097 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1098 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1099 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1100 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1101 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1102 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1103 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1104 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1105 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1106 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1107 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1108 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1109 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1110 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1111 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1112 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1113 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1114 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1115 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1116 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1117 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1118 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1119 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1120 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1121 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1122 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1123 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1124 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1125 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1126 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1127 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1128 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1129 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1130 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1131 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1132 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1133 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1134 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1135 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1136 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1137 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1138 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1139 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1140 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1141 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1142 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1143 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1144 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1145 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1146 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1147 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1148 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1149 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1150 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1151 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1152 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1153 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1154 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1155 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1156 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1157 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1158 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1159 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1160 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1161 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1162 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1163 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1164 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1165 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1166 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1167 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1168 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1169 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1170 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1171 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1172 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1173 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1174 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1175 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1176 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1177 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1178 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1179 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1180 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1181 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1182 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1183 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1184 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1185 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1186 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1187 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1188 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1189 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1190 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1191 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1192 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1193 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1194 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1195 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1196 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1197 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1198 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1199 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1200 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1201 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1202 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1203 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1204 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1205 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1206 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1207 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1208 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1209 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1210 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1211 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1212 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1213 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1214 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1215 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1216 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1217 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1218 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1219 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1220 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1221 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1222 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1223 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1224 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1225 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1226 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1227 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1228 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1229 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1230 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1231 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1232 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1233 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1234 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1235 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1236 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1237 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1238 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1239 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1240 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1241 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1242 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1243 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1244 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1245 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1246 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1247 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1248 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1249 ; AVX2-NEXT: vmovaps %ymm15, {{[0-9]+}}(%rsp)
1250 ; AVX2-NEXT: vmovaps %ymm14, {{[0-9]+}}(%rsp)
1251 ; AVX2-NEXT: vmovaps %ymm13, {{[0-9]+}}(%rsp)
1252 ; AVX2-NEXT: vmovaps %ymm12, {{[0-9]+}}(%rsp)
1253 ; AVX2-NEXT: vmovaps %ymm11, {{[0-9]+}}(%rsp)
1254 ; AVX2-NEXT: vmovaps %ymm10, {{[0-9]+}}(%rsp)
1255 ; AVX2-NEXT: vmovaps %ymm9, {{[0-9]+}}(%rsp)
1256 ; AVX2-NEXT: vmovaps %ymm8, {{[0-9]+}}(%rsp)
1257 ; AVX2-NEXT: vmovaps %ymm7, {{[0-9]+}}(%rsp)
1258 ; AVX2-NEXT: vmovaps %ymm6, {{[0-9]+}}(%rsp)
1259 ; AVX2-NEXT: vmovaps %ymm5, {{[0-9]+}}(%rsp)
1260 ; AVX2-NEXT: vmovaps %ymm4, {{[0-9]+}}(%rsp)
1261 ; AVX2-NEXT: vmovaps %ymm3, {{[0-9]+}}(%rsp)
1262 ; AVX2-NEXT: vmovaps %ymm2, {{[0-9]+}}(%rsp)
1263 ; AVX2-NEXT: vmovaps %ymm1, {{[0-9]+}}(%rsp)
1264 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1265 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
1266 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %rsi
1267 ; AVX2-NEXT: movl $1024, %edx # imm = 0x400
1268 ; AVX2-NEXT: movq %rdx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
1269 ; AVX2-NEXT: vzeroupper
1270 ; AVX2-NEXT: callq memcpy@PLT
1271 ; AVX2-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Reload
1272 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
1273 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %rsi
1274 ; AVX2-NEXT: callq memcpy@PLT
1275 ; AVX2-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Reload
1276 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
1277 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %rsi
1278 ; AVX2-NEXT: callq memcpy@PLT
1279 ; AVX2-NEXT: movw {{[-0-9]+}}(%r{{[sb]}}p), %di # 2-byte Reload
1280 ; AVX2-NEXT: movw {{[-0-9]+}}(%r{{[sb]}}p), %cx # 2-byte Reload
1281 ; AVX2-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload
1282 ; AVX2-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Reload
1283 ; AVX2-NEXT: # kill: def $r8 killed $rax
1284 ; AVX2-NEXT: movw {{[-0-9]+}}(%r{{[sb]}}p), %ax # 2-byte Reload
1285 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1286 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1287 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1288 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1289 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1290 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1291 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1292 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1293 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1294 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1295 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1296 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1297 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1298 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1299 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1300 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1301 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1302 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1303 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1304 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1305 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1306 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1307 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1308 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1309 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1310 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1311 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1312 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1313 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1314 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1315 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1316 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1317 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1318 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1319 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1320 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1321 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1322 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1323 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1324 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1325 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1326 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1327 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1328 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1329 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1330 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1331 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1332 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1333 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1334 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1335 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1336 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1337 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1338 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1339 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1340 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1341 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1342 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1343 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1344 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1345 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1346 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1347 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1348 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1349 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1350 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1351 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1352 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1353 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1354 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1355 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1356 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1357 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1358 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1359 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1360 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1361 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1362 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1363 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1364 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1365 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1366 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1367 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1368 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1369 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1370 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1371 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1372 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1373 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1374 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1375 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1376 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1377 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1378 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1379 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1380 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1381 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1382 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1383 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1384 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1385 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1386 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1387 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1388 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1389 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1390 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1391 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1392 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1393 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1394 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1395 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1396 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1397 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1398 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1399 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1400 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1401 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1402 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1403 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1404 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1405 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1406 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1407 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1408 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1409 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1410 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1411 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1412 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1413 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1414 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1415 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm1
1416 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm2
1417 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm3
1418 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm4
1419 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm5
1420 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm6
1421 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm7
1422 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm8
1423 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm9
1424 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm10
1425 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm11
1426 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm12
1427 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm13
1428 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm14
1429 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm15
1430 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1431 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1432 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1433 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1434 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1435 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1436 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1437 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1438 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1439 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1440 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1441 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1442 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1443 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1444 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1445 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1446 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1447 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1448 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1449 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1450 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1451 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1452 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1453 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1454 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1455 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1456 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1457 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1458 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1459 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1460 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1461 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1462 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1463 ; AVX2-NEXT: movw %di, {{[0-9]+}}(%rsp)
1464 ; AVX2-NEXT: movw %cx, {{[0-9]+}}(%rsp)
1465 ; AVX2-NEXT: movw %ax, {{[0-9]+}}(%rsp)
1466 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1467 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1468 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1469 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1470 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1471 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1472 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1473 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1474 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1475 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1476 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1477 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1478 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1479 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1480 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1481 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1482 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1483 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1484 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1485 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1486 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1487 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1488 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1489 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1490 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1491 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1492 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1493 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1494 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1495 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1496 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1497 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1498 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1499 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1500 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1501 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1502 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1503 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1504 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1505 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1506 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1507 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1508 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1509 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1510 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1511 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1512 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1513 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1514 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1515 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1516 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1517 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1518 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1519 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1520 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1521 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1522 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1523 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1524 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1525 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1526 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1527 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1528 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1529 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1530 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1531 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1532 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1533 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1534 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1535 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1536 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1537 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1538 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1539 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1540 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1541 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1542 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1543 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1544 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1545 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1546 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1547 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1548 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1549 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1550 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1551 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1552 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1553 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1554 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1555 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1556 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1557 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1558 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1559 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1560 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1561 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1562 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1563 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1564 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1565 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1566 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1567 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1568 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1569 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1570 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1571 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1572 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1573 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1574 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1575 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1576 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1577 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1578 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1579 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1580 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1581 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1582 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1583 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1584 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1585 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1586 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1587 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1588 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1589 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1590 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1591 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1592 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1593 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1594 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1595 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1596 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1597 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1598 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1599 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1600 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1601 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1602 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1603 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1604 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1605 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1606 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1607 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1608 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1609 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1610 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1611 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1612 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1613 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1614 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1615 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1616 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1617 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1618 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1619 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1620 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1621 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1622 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1623 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1624 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1625 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1626 ; AVX2-NEXT: vmovaps %ymm15, {{[0-9]+}}(%rsp)
1627 ; AVX2-NEXT: vmovaps %ymm14, {{[0-9]+}}(%rsp)
1628 ; AVX2-NEXT: vmovaps %ymm13, {{[0-9]+}}(%rsp)
1629 ; AVX2-NEXT: vmovaps %ymm12, {{[0-9]+}}(%rsp)
1630 ; AVX2-NEXT: vmovaps %ymm11, {{[0-9]+}}(%rsp)
1631 ; AVX2-NEXT: vmovaps %ymm10, {{[0-9]+}}(%rsp)
1632 ; AVX2-NEXT: vmovaps %ymm9, {{[0-9]+}}(%rsp)
1633 ; AVX2-NEXT: vmovaps %ymm8, {{[0-9]+}}(%rsp)
1634 ; AVX2-NEXT: vmovaps %ymm7, {{[0-9]+}}(%rsp)
1635 ; AVX2-NEXT: vmovaps %ymm6, {{[0-9]+}}(%rsp)
1636 ; AVX2-NEXT: vmovaps %ymm5, {{[0-9]+}}(%rsp)
1637 ; AVX2-NEXT: vmovaps %ymm4, {{[0-9]+}}(%rsp)
1638 ; AVX2-NEXT: vmovaps %ymm3, {{[0-9]+}}(%rsp)
1639 ; AVX2-NEXT: vmovaps %ymm2, {{[0-9]+}}(%rsp)
1640 ; AVX2-NEXT: vmovaps %ymm1, {{[0-9]+}}(%rsp)
1641 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1642 ; AVX2-NEXT: movw {{[0-9]+}}(%rsp), %ax
1643 ; AVX2-NEXT: movw {{[0-9]+}}(%rsp), %cx
1644 ; AVX2-NEXT: movzwl {{[0-9]+}}(%rsp), %r10d
1645 ; AVX2-NEXT: movw %r10w, %di
1646 ; AVX2-NEXT: shrl $2, %r10d
1647 ; AVX2-NEXT: movw %r10w, %r9w
1648 ; AVX2-NEXT: vxorps %xmm0, %xmm0, %xmm0
1649 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1650 ; AVX2-NEXT: vmovups %ymm0, {{[0-9]+}}(%rsp)
1651 ; AVX2-NEXT: vmovups %ymm0, {{[0-9]+}}(%rsp)
1652 ; AVX2-NEXT: movb $1, {{[0-9]+}}(%rsp)
1653 ; AVX2-NEXT: movb %al, %r8b
1654 ; AVX2-NEXT: movb %r8b, {{[0-9]+}}(%rsp)
1655 ; AVX2-NEXT: movw %cx, {{[0-9]+}}(%rsp)
1656 ; AVX2-NEXT: movb %r8b, {{[0-9]+}}(%rsp)
1657 ; AVX2-NEXT: movw %di, {{[0-9]+}}(%rsp)
1658 ; AVX2-NEXT: # kill: def $r10b killed $r10b killed $r10d
1659 ; AVX2-NEXT: movb %r10b, {{[0-9]+}}(%rsp)
1660 ; AVX2-NEXT: movw %cx, {{[0-9]+}}(%rsp)
1661 ; AVX2-NEXT: movb %r8b, {{[0-9]+}}(%rsp)
1662 ; AVX2-NEXT: movw %cx, {{[0-9]+}}(%rsp)
1663 ; AVX2-NEXT: ldtilecfg {{[0-9]+}}(%rsp)
1664 ; AVX2-NEXT: movl $64, %r8d
1665 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %r10
1666 ; AVX2-NEXT: tileloadd (%r10,%r8), %tmm0
1667 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %r10
1668 ; AVX2-NEXT: tileloadd (%r10,%r8), %tmm1
1669 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %r10
1670 ; AVX2-NEXT: tileloadd (%r10,%r8), %tmm2
1671 ; AVX2-NEXT: tdpbssd %tmm2, %tmm1, %tmm0
1672 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rdi
1673 ; AVX2-NEXT: addq $64, %rdi
1674 ; AVX2-NEXT: tilestored %tmm0, (%rdi,%r8)
1675 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
1676 ; AVX2-NEXT: vzeroupper
1677 ; AVX2-NEXT: callq memcpy@PLT
1678 ; AVX2-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Reload
1679 ; AVX2-NEXT: movq $buf, {{[0-9]+}}(%rsp)
1680 ; AVX2-NEXT: movq $32, {{[0-9]+}}(%rsp)
1681 ; AVX2-NEXT: movw {{[0-9]+}}(%rsp), %ax
1682 ; AVX2-NEXT: movw %ax, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill
1683 ; AVX2-NEXT: movw {{[0-9]+}}(%rsp), %ax
1684 ; AVX2-NEXT: movw %ax, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill
1685 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax
1686 ; AVX2-NEXT: movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
1687 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax
1688 ; AVX2-NEXT: movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
1689 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1690 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1691 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm1
1692 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm2
1693 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm3
1694 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm4
1695 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm5
1696 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm6
1697 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm7
1698 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm8
1699 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm9
1700 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm10
1701 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm11
1702 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm12
1703 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm13
1704 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm14
1705 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm15
1706 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1707 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1708 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1709 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1710 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1711 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1712 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1713 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1714 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1715 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1716 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1717 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1718 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1719 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1720 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1721 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1722 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1723 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1724 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1725 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1726 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1727 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1728 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1729 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1730 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1731 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1732 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1733 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1734 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1735 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1736 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1737 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1738 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1739 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1740 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1741 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1742 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1743 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1744 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1745 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1746 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1747 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1748 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1749 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1750 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1751 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1752 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1753 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1754 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1755 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1756 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1757 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1758 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1759 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1760 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1761 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1762 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1763 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1764 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1765 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1766 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1767 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1768 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1769 ; AVX2-NEXT: vmovaps %ymm15, {{[0-9]+}}(%rsp)
1770 ; AVX2-NEXT: vmovaps %ymm14, {{[0-9]+}}(%rsp)
1771 ; AVX2-NEXT: vmovaps %ymm13, {{[0-9]+}}(%rsp)
1772 ; AVX2-NEXT: vmovaps %ymm12, {{[0-9]+}}(%rsp)
1773 ; AVX2-NEXT: vmovaps %ymm11, {{[0-9]+}}(%rsp)
1774 ; AVX2-NEXT: vmovaps %ymm10, {{[0-9]+}}(%rsp)
1775 ; AVX2-NEXT: vmovaps %ymm9, {{[0-9]+}}(%rsp)
1776 ; AVX2-NEXT: vmovaps %ymm8, {{[0-9]+}}(%rsp)
1777 ; AVX2-NEXT: vmovaps %ymm7, {{[0-9]+}}(%rsp)
1778 ; AVX2-NEXT: vmovaps %ymm6, {{[0-9]+}}(%rsp)
1779 ; AVX2-NEXT: vmovaps %ymm5, {{[0-9]+}}(%rsp)
1780 ; AVX2-NEXT: vmovaps %ymm4, {{[0-9]+}}(%rsp)
1781 ; AVX2-NEXT: vmovaps %ymm3, {{[0-9]+}}(%rsp)
1782 ; AVX2-NEXT: vmovaps %ymm2, {{[0-9]+}}(%rsp)
1783 ; AVX2-NEXT: vmovaps %ymm1, {{[0-9]+}}(%rsp)
1784 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1785 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
1786 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %rsi
1787 ; AVX2-NEXT: vzeroupper
1788 ; AVX2-NEXT: callq memcpy@PLT
1789 ; AVX2-NEXT: movw {{[-0-9]+}}(%r{{[sb]}}p), %si # 2-byte Reload
1790 ; AVX2-NEXT: movw {{[-0-9]+}}(%r{{[sb]}}p), %dx # 2-byte Reload
1791 ; AVX2-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Reload
1792 ; AVX2-NEXT: # kill: def $rdi killed $rax
1793 ; AVX2-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Reload
1794 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm1
1795 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm2
1796 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm3
1797 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm4
1798 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm5
1799 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm6
1800 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm7
1801 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm8
1802 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm9
1803 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm10
1804 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm11
1805 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm12
1806 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm13
1807 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm14
1808 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm15
1809 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1810 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1811 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1812 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1813 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1814 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1815 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1816 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1817 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1818 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1819 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1820 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1821 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1822 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1823 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1824 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1825 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1826 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1827 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1828 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1829 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1830 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1831 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1832 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1833 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1834 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1835 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1836 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1837 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1838 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1839 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1840 ; AVX2-NEXT: vmovaps %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
1841 ; AVX2-NEXT: vmovaps {{[0-9]+}}(%rsp), %ymm0
1842 ; AVX2-NEXT: movw %si, {{[0-9]+}}(%rsp)
1843 ; AVX2-NEXT: movw %dx, {{[0-9]+}}(%rsp)
1844 ; AVX2-NEXT: movq %rcx, {{[0-9]+}}(%rsp)
1845 ; AVX2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
1846 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1847 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1848 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1849 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1850 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1851 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1852 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1853 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1854 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1855 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1856 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1857 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1858 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1859 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1860 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1861 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1862 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1863 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1864 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1865 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1866 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1867 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1868 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1869 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1870 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1871 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1872 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1873 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1874 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1875 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1876 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1877 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1878 ; AVX2-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
1879 ; AVX2-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
1880 ; AVX2-NEXT: vmovaps %ymm15, {{[0-9]+}}(%rsp)
1881 ; AVX2-NEXT: vmovaps %ymm14, {{[0-9]+}}(%rsp)
1882 ; AVX2-NEXT: vmovaps %ymm13, {{[0-9]+}}(%rsp)
1883 ; AVX2-NEXT: vmovaps %ymm12, {{[0-9]+}}(%rsp)
1884 ; AVX2-NEXT: vmovaps %ymm11, {{[0-9]+}}(%rsp)
1885 ; AVX2-NEXT: vmovaps %ymm10, {{[0-9]+}}(%rsp)
1886 ; AVX2-NEXT: vmovaps %ymm9, {{[0-9]+}}(%rsp)
1887 ; AVX2-NEXT: vmovaps %ymm8, {{[0-9]+}}(%rsp)
1888 ; AVX2-NEXT: vmovaps %ymm7, {{[0-9]+}}(%rsp)
1889 ; AVX2-NEXT: vmovaps %ymm6, {{[0-9]+}}(%rsp)
1890 ; AVX2-NEXT: vmovaps %ymm5, {{[0-9]+}}(%rsp)
1891 ; AVX2-NEXT: vmovaps %ymm4, {{[0-9]+}}(%rsp)
1892 ; AVX2-NEXT: vmovaps %ymm3, {{[0-9]+}}(%rsp)
1893 ; AVX2-NEXT: vmovaps %ymm2, {{[0-9]+}}(%rsp)
1894 ; AVX2-NEXT: vmovaps %ymm1, {{[0-9]+}}(%rsp)
1895 ; AVX2-NEXT: movw {{[0-9]+}}(%rsp), %ax
1896 ; AVX2-NEXT: movw {{[0-9]+}}(%rsp), %cx
1897 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rdx
1898 ; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rsi
1899 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
1900 ; AVX2-NEXT: leaq {{[0-9]+}}(%rsp), %r8
1901 ; AVX2-NEXT: vmovups %ymm0, {{[0-9]+}}(%rsp)
1902 ; AVX2-NEXT: vmovups %ymm0, {{[0-9]+}}(%rsp)
1903 ; AVX2-NEXT: movb $1, {{[0-9]+}}(%rsp)
1904 ; AVX2-NEXT: movb %al, %r9b
1905 ; AVX2-NEXT: movb %r9b, {{[0-9]+}}(%rsp)
1906 ; AVX2-NEXT: movw %cx, {{[0-9]+}}(%rsp)
1907 ; AVX2-NEXT: ldtilecfg (%r8)
1908 ; AVX2-NEXT: movl $64, %r8d
1909 ; AVX2-NEXT: tileloadd (%rdi,%r8), %tmm0
1910 ; AVX2-NEXT: tilestored %tmm0, (%rdx,%rsi)
1911 ; AVX2-NEXT: movq %rbp, %rsp
1912 ; AVX2-NEXT: popq %rbp
1913 ; AVX2-NEXT: .cfi_def_cfa %rsp, 8
1914 ; AVX2-NEXT: tilerelease
1915 ; AVX2-NEXT: vzeroupper
1918 ; SSE2-LABEL: test_api:
1919 ; SSE2: # %bb.0: # %entry
1920 ; SSE2-NEXT: pushq %rbp
1921 ; SSE2-NEXT: .cfi_def_cfa_offset 16
1922 ; SSE2-NEXT: .cfi_offset %rbp, -16
1923 ; SSE2-NEXT: movq %rsp, %rbp
1924 ; SSE2-NEXT: .cfi_def_cfa_register %rbp
1925 ; SSE2-NEXT: andq $-1024, %rsp # imm = 0xFC00
1926 ; SSE2-NEXT: subq $30720, %rsp # imm = 0x7800
1927 ; SSE2-NEXT: movw %dx, %ax
1928 ; SSE2-NEXT: movw %si, %cx
1929 ; SSE2-NEXT: movl %edi, {{[0-9]+}}(%rsp)
1930 ; SSE2-NEXT: movw %cx, {{[0-9]+}}(%rsp)
1931 ; SSE2-NEXT: movw %ax, {{[0-9]+}}(%rsp)
1932 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
1933 ; SSE2-NEXT: xorl %esi, %esi
1934 ; SSE2-NEXT: movl $1088, %edx # imm = 0x440
1935 ; SSE2-NEXT: callq memset@PLT
1936 ; SSE2-NEXT: movw {{[0-9]+}}(%rsp), %ax
1937 ; SSE2-NEXT: movw %ax, {{[0-9]+}}(%rsp)
1938 ; SSE2-NEXT: movw $8, {{[0-9]+}}(%rsp)
1939 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
1940 ; SSE2-NEXT: xorl %esi, %esi
1941 ; SSE2-NEXT: movl $1088, %edx # imm = 0x440
1942 ; SSE2-NEXT: callq memset@PLT
1943 ; SSE2-NEXT: movw $8, {{[0-9]+}}(%rsp)
1944 ; SSE2-NEXT: movw {{[0-9]+}}(%rsp), %ax
1945 ; SSE2-NEXT: movw %ax, {{[0-9]+}}(%rsp)
1946 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
1947 ; SSE2-NEXT: xorl %esi, %esi
1948 ; SSE2-NEXT: movl $1088, %edx # imm = 0x440
1949 ; SSE2-NEXT: callq memset@PLT
1950 ; SSE2-NEXT: movw {{[0-9]+}}(%rsp), %ax
1951 ; SSE2-NEXT: movw %ax, {{[0-9]+}}(%rsp)
1952 ; SSE2-NEXT: movw {{[0-9]+}}(%rsp), %ax
1953 ; SSE2-NEXT: movw %ax, {{[0-9]+}}(%rsp)
1954 ; SSE2-NEXT: cmpl $0, {{[0-9]+}}(%rsp)
1955 ; SSE2-NEXT: je .LBB0_2
1956 ; SSE2-NEXT: # %bb.1: # %if.then
1957 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %rax
1958 ; SSE2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
1959 ; SSE2-NEXT: movq $buf, {{[0-9]+}}(%rsp)
1960 ; SSE2-NEXT: movq $32, {{[0-9]+}}(%rsp)
1961 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rax
1962 ; SSE2-NEXT: movw (%rax), %si
1963 ; SSE2-NEXT: movw 2(%rax), %dx
1964 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rcx
1965 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rax
1966 ; SSE2-NEXT: movw %si, {{[0-9]+}}(%rsp)
1967 ; SSE2-NEXT: movw %dx, {{[0-9]+}}(%rsp)
1968 ; SSE2-NEXT: movq %rcx, {{[0-9]+}}(%rsp)
1969 ; SSE2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
1970 ; SSE2-NEXT: movw {{[0-9]+}}(%rsp), %ax
1971 ; SSE2-NEXT: movw {{[0-9]+}}(%rsp), %cx
1972 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rdx
1973 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rsi
1974 ; SSE2-NEXT: xorps %xmm0, %xmm0
1975 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
1976 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
1977 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
1978 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
1979 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
1980 ; SSE2-NEXT: movb $1, {{[0-9]+}}(%rsp)
1981 ; SSE2-NEXT: movb %al, %dil
1982 ; SSE2-NEXT: movb %dil, {{[0-9]+}}(%rsp)
1983 ; SSE2-NEXT: movw %cx, {{[0-9]+}}(%rsp)
1984 ; SSE2-NEXT: ldtilecfg {{[0-9]+}}(%rsp)
1985 ; SSE2-NEXT: tileloadd (%rdx,%rsi), %tmm0
1986 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rdx
1987 ; SSE2-NEXT: addq $64, %rdx
1988 ; SSE2-NEXT: movl $64, %esi
1989 ; SSE2-NEXT: tilestored %tmm0, (%rdx,%rsi)
1990 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %rax
1991 ; SSE2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
1992 ; SSE2-NEXT: movq $buf, {{[0-9]+}}(%rsp)
1993 ; SSE2-NEXT: movq $32, {{[0-9]+}}(%rsp)
1994 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rax
1995 ; SSE2-NEXT: movw (%rax), %di
1996 ; SSE2-NEXT: movw 2(%rax), %dx
1997 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rcx
1998 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rax
1999 ; SSE2-NEXT: movw %di, {{[0-9]+}}(%rsp)
2000 ; SSE2-NEXT: movw %dx, {{[0-9]+}}(%rsp)
2001 ; SSE2-NEXT: movq %rcx, {{[0-9]+}}(%rsp)
2002 ; SSE2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
2003 ; SSE2-NEXT: movw {{[0-9]+}}(%rsp), %ax
2004 ; SSE2-NEXT: movw {{[0-9]+}}(%rsp), %cx
2005 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rdx
2006 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rdi
2007 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
2008 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
2009 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
2010 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
2011 ; SSE2-NEXT: movb $1, {{[0-9]+}}(%rsp)
2012 ; SSE2-NEXT: movb %al, %r8b
2013 ; SSE2-NEXT: movb %r8b, {{[0-9]+}}(%rsp)
2014 ; SSE2-NEXT: movw %cx, {{[0-9]+}}(%rsp)
2015 ; SSE2-NEXT: ldtilecfg {{[0-9]+}}(%rsp)
2016 ; SSE2-NEXT: tileloadd (%rdx,%rdi), %tmm0
2017 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rdx
2018 ; SSE2-NEXT: addq $64, %rdx
2019 ; SSE2-NEXT: tilestored %tmm0, (%rdx,%rsi)
2020 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %rax
2021 ; SSE2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
2022 ; SSE2-NEXT: movq $buf, {{[0-9]+}}(%rsp)
2023 ; SSE2-NEXT: movq $32, {{[0-9]+}}(%rsp)
2024 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rax
2025 ; SSE2-NEXT: movw (%rax), %si
2026 ; SSE2-NEXT: movw 2(%rax), %dx
2027 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rcx
2028 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rax
2029 ; SSE2-NEXT: movw %si, {{[0-9]+}}(%rsp)
2030 ; SSE2-NEXT: movw %dx, {{[0-9]+}}(%rsp)
2031 ; SSE2-NEXT: movq %rcx, {{[0-9]+}}(%rsp)
2032 ; SSE2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
2033 ; SSE2-NEXT: movw {{[0-9]+}}(%rsp), %ax
2034 ; SSE2-NEXT: movw {{[0-9]+}}(%rsp), %cx
2035 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rdx
2036 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rsi
2037 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
2038 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
2039 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
2040 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
2041 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
2042 ; SSE2-NEXT: movb $1, {{[0-9]+}}(%rsp)
2043 ; SSE2-NEXT: movb %al, %r8b
2044 ; SSE2-NEXT: movb %r8b, {{[0-9]+}}(%rsp)
2045 ; SSE2-NEXT: movw %cx, {{[0-9]+}}(%rsp)
2046 ; SSE2-NEXT: ldtilecfg (%rdi)
2047 ; SSE2-NEXT: tileloadd (%rdx,%rsi), %tmm0
2048 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rdx
2049 ; SSE2-NEXT: addq $64, %rdx
2050 ; SSE2-NEXT: movl $64, %esi
2051 ; SSE2-NEXT: tilestored %tmm0, (%rdx,%rsi)
2052 ; SSE2-NEXT: jmp .LBB0_3
2053 ; SSE2-NEXT: .LBB0_2: # %if.else
2054 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %rax
2055 ; SSE2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
2056 ; SSE2-NEXT: movq $buf2, {{[0-9]+}}(%rsp)
2057 ; SSE2-NEXT: movq $32, {{[0-9]+}}(%rsp)
2058 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rax
2059 ; SSE2-NEXT: movw (%rax), %si
2060 ; SSE2-NEXT: movw 2(%rax), %dx
2061 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rcx
2062 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rax
2063 ; SSE2-NEXT: movw %si, {{[0-9]+}}(%rsp)
2064 ; SSE2-NEXT: movw %dx, {{[0-9]+}}(%rsp)
2065 ; SSE2-NEXT: movq %rcx, {{[0-9]+}}(%rsp)
2066 ; SSE2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
2067 ; SSE2-NEXT: movw {{[0-9]+}}(%rsp), %ax
2068 ; SSE2-NEXT: movw {{[0-9]+}}(%rsp), %cx
2069 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rdx
2070 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rsi
2071 ; SSE2-NEXT: xorps %xmm0, %xmm0
2072 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2073 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
2074 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
2075 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
2076 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
2077 ; SSE2-NEXT: movb $1, {{[0-9]+}}(%rsp)
2078 ; SSE2-NEXT: movb %al, %dil
2079 ; SSE2-NEXT: movb %dil, {{[0-9]+}}(%rsp)
2080 ; SSE2-NEXT: movw %cx, {{[0-9]+}}(%rsp)
2081 ; SSE2-NEXT: ldtilecfg {{[0-9]+}}(%rsp)
2082 ; SSE2-NEXT: tileloadd (%rdx,%rsi), %tmm0
2083 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rdx
2084 ; SSE2-NEXT: addq $64, %rdx
2085 ; SSE2-NEXT: movl $64, %esi
2086 ; SSE2-NEXT: tilestored %tmm0, (%rdx,%rsi)
2087 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %rax
2088 ; SSE2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
2089 ; SSE2-NEXT: movq $buf2, {{[0-9]+}}(%rsp)
2090 ; SSE2-NEXT: movq $32, {{[0-9]+}}(%rsp)
2091 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rax
2092 ; SSE2-NEXT: movw (%rax), %di
2093 ; SSE2-NEXT: movw 2(%rax), %dx
2094 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rcx
2095 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rax
2096 ; SSE2-NEXT: movw %di, {{[0-9]+}}(%rsp)
2097 ; SSE2-NEXT: movw %dx, {{[0-9]+}}(%rsp)
2098 ; SSE2-NEXT: movq %rcx, {{[0-9]+}}(%rsp)
2099 ; SSE2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
2100 ; SSE2-NEXT: movw {{[0-9]+}}(%rsp), %ax
2101 ; SSE2-NEXT: movw {{[0-9]+}}(%rsp), %cx
2102 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rdx
2103 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rdi
2104 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
2105 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
2106 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
2107 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
2108 ; SSE2-NEXT: movb $1, {{[0-9]+}}(%rsp)
2109 ; SSE2-NEXT: movb %al, %r8b
2110 ; SSE2-NEXT: movb %r8b, {{[0-9]+}}(%rsp)
2111 ; SSE2-NEXT: movw %cx, {{[0-9]+}}(%rsp)
2112 ; SSE2-NEXT: ldtilecfg {{[0-9]+}}(%rsp)
2113 ; SSE2-NEXT: tileloadd (%rdx,%rdi), %tmm0
2114 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rdx
2115 ; SSE2-NEXT: addq $64, %rdx
2116 ; SSE2-NEXT: tilestored %tmm0, (%rdx,%rsi)
2117 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %rax
2118 ; SSE2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
2119 ; SSE2-NEXT: movq $buf2, {{[0-9]+}}(%rsp)
2120 ; SSE2-NEXT: movq $32, {{[0-9]+}}(%rsp)
2121 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rax
2122 ; SSE2-NEXT: movw (%rax), %si
2123 ; SSE2-NEXT: movw 2(%rax), %dx
2124 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rcx
2125 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rax
2126 ; SSE2-NEXT: movw %si, {{[0-9]+}}(%rsp)
2127 ; SSE2-NEXT: movw %dx, {{[0-9]+}}(%rsp)
2128 ; SSE2-NEXT: movq %rcx, {{[0-9]+}}(%rsp)
2129 ; SSE2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
2130 ; SSE2-NEXT: movw {{[0-9]+}}(%rsp), %ax
2131 ; SSE2-NEXT: movw {{[0-9]+}}(%rsp), %cx
2132 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rdx
2133 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rsi
2134 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
2135 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
2136 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
2137 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
2138 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
2139 ; SSE2-NEXT: movb $1, {{[0-9]+}}(%rsp)
2140 ; SSE2-NEXT: movb %al, %r8b
2141 ; SSE2-NEXT: movb %r8b, {{[0-9]+}}(%rsp)
2142 ; SSE2-NEXT: movw %cx, {{[0-9]+}}(%rsp)
2143 ; SSE2-NEXT: ldtilecfg (%rdi)
2144 ; SSE2-NEXT: tileloadd (%rdx,%rsi), %tmm0
2145 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rdx
2146 ; SSE2-NEXT: addq $64, %rdx
2147 ; SSE2-NEXT: movl $64, %esi
2148 ; SSE2-NEXT: tilestored %tmm0, (%rdx,%rsi)
2149 ; SSE2-NEXT: .LBB0_3: # %if.end
2150 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
2151 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %rsi
2152 ; SSE2-NEXT: movl $1088, %edx # imm = 0x440
2153 ; SSE2-NEXT: movq %rdx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
2154 ; SSE2-NEXT: callq memcpy@PLT
2155 ; SSE2-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Reload
2156 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
2157 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %rsi
2158 ; SSE2-NEXT: callq memcpy@PLT
2159 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %rax
2160 ; SSE2-NEXT: movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
2161 ; SSE2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
2162 ; SSE2-NEXT: movw {{[0-9]+}}(%rsp), %ax
2163 ; SSE2-NEXT: movw %ax, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill
2164 ; SSE2-NEXT: movw {{[0-9]+}}(%rsp), %ax
2165 ; SSE2-NEXT: movw %ax, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill
2166 ; SSE2-NEXT: movw {{[0-9]+}}(%rsp), %ax
2167 ; SSE2-NEXT: movw %ax, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill
2168 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rax
2169 ; SSE2-NEXT: movaps 64(%rax), %xmm0
2170 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2171 ; SSE2-NEXT: movaps 80(%rax), %xmm0
2172 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2173 ; SSE2-NEXT: movaps 96(%rax), %xmm0
2174 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2175 ; SSE2-NEXT: movaps 112(%rax), %xmm0
2176 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2177 ; SSE2-NEXT: movaps 128(%rax), %xmm0
2178 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2179 ; SSE2-NEXT: movaps 144(%rax), %xmm0
2180 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2181 ; SSE2-NEXT: movaps 160(%rax), %xmm0
2182 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2183 ; SSE2-NEXT: movaps 176(%rax), %xmm0
2184 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2185 ; SSE2-NEXT: movaps 192(%rax), %xmm0
2186 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2187 ; SSE2-NEXT: movaps 208(%rax), %xmm0
2188 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2189 ; SSE2-NEXT: movaps 224(%rax), %xmm0
2190 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2191 ; SSE2-NEXT: movaps 240(%rax), %xmm0
2192 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2193 ; SSE2-NEXT: movaps 256(%rax), %xmm0
2194 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2195 ; SSE2-NEXT: movaps 272(%rax), %xmm0
2196 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2197 ; SSE2-NEXT: movaps 288(%rax), %xmm0
2198 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2199 ; SSE2-NEXT: movaps 304(%rax), %xmm0
2200 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2201 ; SSE2-NEXT: movaps 320(%rax), %xmm0
2202 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2203 ; SSE2-NEXT: movaps 336(%rax), %xmm0
2204 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2205 ; SSE2-NEXT: movaps 352(%rax), %xmm0
2206 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2207 ; SSE2-NEXT: movaps 368(%rax), %xmm0
2208 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2209 ; SSE2-NEXT: movaps 384(%rax), %xmm0
2210 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2211 ; SSE2-NEXT: movaps 400(%rax), %xmm0
2212 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2213 ; SSE2-NEXT: movaps 416(%rax), %xmm0
2214 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2215 ; SSE2-NEXT: movaps 432(%rax), %xmm0
2216 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2217 ; SSE2-NEXT: movaps 448(%rax), %xmm0
2218 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2219 ; SSE2-NEXT: movaps 464(%rax), %xmm0
2220 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2221 ; SSE2-NEXT: movaps 480(%rax), %xmm0
2222 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2223 ; SSE2-NEXT: movaps 496(%rax), %xmm0
2224 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2225 ; SSE2-NEXT: movaps 512(%rax), %xmm0
2226 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2227 ; SSE2-NEXT: movaps 528(%rax), %xmm0
2228 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2229 ; SSE2-NEXT: movaps 544(%rax), %xmm0
2230 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2231 ; SSE2-NEXT: movaps 560(%rax), %xmm0
2232 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2233 ; SSE2-NEXT: movaps 576(%rax), %xmm0
2234 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2235 ; SSE2-NEXT: movaps 592(%rax), %xmm0
2236 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2237 ; SSE2-NEXT: movaps 608(%rax), %xmm0
2238 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2239 ; SSE2-NEXT: movaps 624(%rax), %xmm0
2240 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2241 ; SSE2-NEXT: movaps 640(%rax), %xmm0
2242 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2243 ; SSE2-NEXT: movaps 656(%rax), %xmm0
2244 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2245 ; SSE2-NEXT: movaps 672(%rax), %xmm0
2246 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2247 ; SSE2-NEXT: movaps 688(%rax), %xmm0
2248 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2249 ; SSE2-NEXT: movaps 704(%rax), %xmm0
2250 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2251 ; SSE2-NEXT: movaps 720(%rax), %xmm0
2252 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2253 ; SSE2-NEXT: movaps 736(%rax), %xmm0
2254 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2255 ; SSE2-NEXT: movaps 752(%rax), %xmm0
2256 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2257 ; SSE2-NEXT: movaps 768(%rax), %xmm0
2258 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2259 ; SSE2-NEXT: movaps 784(%rax), %xmm0
2260 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2261 ; SSE2-NEXT: movaps 800(%rax), %xmm0
2262 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2263 ; SSE2-NEXT: movaps 816(%rax), %xmm0
2264 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2265 ; SSE2-NEXT: movaps 832(%rax), %xmm0
2266 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2267 ; SSE2-NEXT: movaps 848(%rax), %xmm0
2268 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2269 ; SSE2-NEXT: movaps 864(%rax), %xmm0
2270 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2271 ; SSE2-NEXT: movaps 880(%rax), %xmm0
2272 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2273 ; SSE2-NEXT: movaps 896(%rax), %xmm0
2274 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2275 ; SSE2-NEXT: movaps 912(%rax), %xmm0
2276 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2277 ; SSE2-NEXT: movaps 928(%rax), %xmm0
2278 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2279 ; SSE2-NEXT: movaps 944(%rax), %xmm0
2280 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2281 ; SSE2-NEXT: movaps 960(%rax), %xmm0
2282 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2283 ; SSE2-NEXT: movaps 976(%rax), %xmm0
2284 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2285 ; SSE2-NEXT: movaps 992(%rax), %xmm0
2286 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2287 ; SSE2-NEXT: movaps 1008(%rax), %xmm0
2288 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2289 ; SSE2-NEXT: movaps 1024(%rax), %xmm0
2290 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2291 ; SSE2-NEXT: movaps 1040(%rax), %xmm0
2292 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2293 ; SSE2-NEXT: movaps 1056(%rax), %xmm0
2294 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2295 ; SSE2-NEXT: movaps 1072(%rax), %xmm0
2296 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2297 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2298 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2299 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2300 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2301 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2302 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2303 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2304 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2305 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2306 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2307 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2308 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2309 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2310 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2311 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2312 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2313 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2314 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2315 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2316 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2317 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2318 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2319 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2320 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2321 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2322 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2323 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2324 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2325 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2326 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2327 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2328 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2329 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2330 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2331 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2332 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2333 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2334 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2335 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2336 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2337 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2338 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2339 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2340 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2341 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2342 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2343 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2344 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2345 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2346 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2347 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2348 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2349 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2350 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2351 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2352 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2353 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2354 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2355 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2356 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2357 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2358 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2359 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2360 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2361 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2362 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2363 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2364 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2365 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2366 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2367 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2368 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2369 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2370 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2371 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2372 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2373 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2374 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2375 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2376 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2377 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2378 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2379 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2380 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2381 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2382 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2383 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2384 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2385 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2386 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2387 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2388 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2389 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2390 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2391 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2392 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2393 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2394 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2395 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2396 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2397 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2398 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2399 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2400 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2401 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2402 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2403 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2404 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2405 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2406 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2407 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2408 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2409 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2410 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2411 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2412 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2413 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2414 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2415 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2416 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2417 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2418 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2419 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2420 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2421 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2422 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2423 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2424 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2425 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2426 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2427 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm1
2428 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm2
2429 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm3
2430 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm4
2431 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm5
2432 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm6
2433 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm7
2434 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm8
2435 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm9
2436 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm10
2437 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm11
2438 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm12
2439 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm13
2440 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm14
2441 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm15
2442 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2443 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2444 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2445 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2446 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2447 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2448 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2449 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2450 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2451 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2452 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2453 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2454 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2455 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2456 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2457 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2458 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2459 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2460 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2461 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2462 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2463 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2464 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2465 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2466 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2467 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2468 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2469 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2470 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2471 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2472 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2473 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2474 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2475 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2476 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2477 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2478 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2479 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2480 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2481 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2482 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2483 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2484 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2485 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2486 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2487 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2488 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2489 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2490 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2491 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2492 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2493 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2494 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2495 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2496 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2497 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2498 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2499 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2500 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2501 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2502 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2503 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2504 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2505 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2506 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2507 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2508 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2509 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2510 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2511 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2512 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2513 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2514 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2515 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2516 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2517 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2518 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2519 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2520 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2521 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2522 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2523 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2524 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2525 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2526 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2527 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2528 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2529 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2530 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2531 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2532 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2533 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2534 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2535 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2536 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2537 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2538 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2539 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2540 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2541 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2542 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2543 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2544 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2545 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2546 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2547 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2548 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2549 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2550 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2551 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2552 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2553 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2554 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2555 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2556 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2557 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2558 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2559 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2560 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2561 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2562 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2563 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2564 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2565 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2566 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2567 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2568 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2569 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2570 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2571 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2572 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2573 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2574 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2575 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2576 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2577 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2578 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2579 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2580 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2581 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2582 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2583 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2584 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2585 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2586 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2587 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2588 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2589 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2590 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2591 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2592 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2593 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2594 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2595 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2596 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2597 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2598 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2599 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2600 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2601 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2602 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2603 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2604 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2605 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2606 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2607 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2608 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2609 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2610 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2611 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2612 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2613 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2614 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2615 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2616 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2617 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2618 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2619 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2620 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2621 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2622 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2623 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2624 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2625 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2626 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2627 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2628 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2629 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2630 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2631 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2632 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2633 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2634 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2635 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2636 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2637 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2638 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2639 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2640 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2641 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2642 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2643 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2644 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2645 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2646 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2647 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2648 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2649 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2650 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2651 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2652 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2653 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2654 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2655 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2656 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2657 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2658 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2659 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2660 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2661 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2662 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2663 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2664 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2665 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2666 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2667 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2668 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2669 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2670 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2671 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2672 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2673 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2674 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2675 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2676 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2677 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2678 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2679 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2680 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2681 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2682 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2683 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2684 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2685 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2686 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2687 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2688 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2689 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2690 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2691 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2692 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2693 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2694 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2695 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2696 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2697 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2698 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2699 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2700 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2701 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2702 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2703 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2704 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2705 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2706 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2707 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2708 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2709 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2710 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2711 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2712 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2713 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2714 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2715 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2716 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2717 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2718 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2719 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2720 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2721 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2722 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2723 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2724 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2725 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2726 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2727 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2728 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2729 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2730 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2731 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2732 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2733 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2734 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2735 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2736 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2737 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2738 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2739 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2740 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2741 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2742 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2743 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2744 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2745 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2746 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2747 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2748 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2749 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2750 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2751 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2752 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2753 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2754 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2755 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2756 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2757 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2758 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2759 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2760 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2761 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2762 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2763 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2764 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2765 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2766 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2767 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2768 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2769 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2770 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2771 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2772 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2773 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2774 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2775 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2776 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2777 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2778 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2779 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2780 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2781 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2782 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2783 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2784 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2785 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2786 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2787 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2788 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2789 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2790 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2791 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2792 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2793 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2794 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2795 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2796 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2797 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2798 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2799 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2800 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2801 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2802 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2803 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2804 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2805 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2806 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2807 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2808 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2809 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2810 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2811 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2812 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2813 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2814 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2815 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2816 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2817 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2818 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2819 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2820 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2821 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2822 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2823 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2824 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2825 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2826 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2827 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2828 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2829 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2830 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2831 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2832 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2833 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2834 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2835 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2836 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2837 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2838 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2839 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2840 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2841 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2842 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2843 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2844 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2845 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2846 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2847 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2848 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2849 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2850 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2851 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2852 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2853 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2854 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2855 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2856 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2857 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2858 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2859 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2860 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2861 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2862 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2863 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2864 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2865 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2866 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2867 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2868 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2869 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2870 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2871 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2872 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2873 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2874 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2875 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2876 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2877 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2878 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2879 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2880 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2881 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2882 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2883 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2884 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2885 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2886 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2887 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2888 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2889 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2890 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
2891 ; SSE2-NEXT: movaps %xmm15, {{[0-9]+}}(%rsp)
2892 ; SSE2-NEXT: movaps %xmm14, {{[0-9]+}}(%rsp)
2893 ; SSE2-NEXT: movaps %xmm13, {{[0-9]+}}(%rsp)
2894 ; SSE2-NEXT: movaps %xmm12, {{[0-9]+}}(%rsp)
2895 ; SSE2-NEXT: movaps %xmm11, {{[0-9]+}}(%rsp)
2896 ; SSE2-NEXT: movaps %xmm10, {{[0-9]+}}(%rsp)
2897 ; SSE2-NEXT: movaps %xmm9, {{[0-9]+}}(%rsp)
2898 ; SSE2-NEXT: movaps %xmm8, {{[0-9]+}}(%rsp)
2899 ; SSE2-NEXT: movaps %xmm7, {{[0-9]+}}(%rsp)
2900 ; SSE2-NEXT: movaps %xmm6, {{[0-9]+}}(%rsp)
2901 ; SSE2-NEXT: movaps %xmm5, {{[0-9]+}}(%rsp)
2902 ; SSE2-NEXT: movaps %xmm4, {{[0-9]+}}(%rsp)
2903 ; SSE2-NEXT: movaps %xmm3, {{[0-9]+}}(%rsp)
2904 ; SSE2-NEXT: movaps %xmm2, {{[0-9]+}}(%rsp)
2905 ; SSE2-NEXT: movaps %xmm1, {{[0-9]+}}(%rsp)
2906 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
2907 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
2908 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %rsi
2909 ; SSE2-NEXT: movl $1024, %edx # imm = 0x400
2910 ; SSE2-NEXT: movq %rdx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
2911 ; SSE2-NEXT: callq memcpy@PLT
2912 ; SSE2-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Reload
2913 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
2914 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %rsi
2915 ; SSE2-NEXT: callq memcpy@PLT
2916 ; SSE2-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Reload
2917 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
2918 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %rsi
2919 ; SSE2-NEXT: callq memcpy@PLT
2920 ; SSE2-NEXT: movw {{[-0-9]+}}(%r{{[sb]}}p), %di # 2-byte Reload
2921 ; SSE2-NEXT: movw {{[-0-9]+}}(%r{{[sb]}}p), %cx # 2-byte Reload
2922 ; SSE2-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload
2923 ; SSE2-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Reload
2924 ; SSE2-NEXT: # kill: def $r8 killed $rax
2925 ; SSE2-NEXT: movw {{[-0-9]+}}(%r{{[sb]}}p), %ax # 2-byte Reload
2926 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2927 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2928 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2929 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2930 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2931 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2932 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2933 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2934 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2935 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2936 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2937 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2938 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2939 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2940 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2941 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2942 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2943 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2944 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2945 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2946 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2947 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2948 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2949 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2950 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2951 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2952 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2953 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2954 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2955 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2956 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2957 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2958 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2959 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2960 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2961 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2962 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2963 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2964 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2965 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2966 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2967 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2968 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2969 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2970 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2971 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2972 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2973 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2974 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2975 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2976 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2977 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2978 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2979 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2980 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2981 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2982 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2983 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2984 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2985 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2986 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2987 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2988 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2989 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2990 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2991 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2992 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2993 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2994 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2995 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2996 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2997 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
2998 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
2999 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3000 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3001 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3002 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3003 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3004 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3005 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3006 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3007 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3008 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3009 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3010 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3011 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3012 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3013 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3014 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3015 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3016 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3017 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3018 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3019 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3020 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3021 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3022 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3023 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3024 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3025 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3026 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3027 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3028 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3029 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3030 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3031 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3032 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3033 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3034 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3035 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3036 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3037 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3038 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3039 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3040 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3041 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3042 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3043 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3044 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3045 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3046 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3047 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3048 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3049 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3050 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3051 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3052 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3053 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3054 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3055 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3056 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3057 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3058 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3059 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3060 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3061 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3062 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3063 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3064 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3065 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3066 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3067 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3068 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3069 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3070 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3071 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3072 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3073 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3074 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3075 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3076 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3077 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3078 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3079 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3080 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3081 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3082 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3083 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3084 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3085 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3086 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3087 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3088 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3089 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3090 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3091 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3092 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3093 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3094 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3095 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3096 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3097 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3098 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3099 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3100 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3101 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3102 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3103 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3104 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3105 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3106 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3107 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3108 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3109 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3110 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3111 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3112 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3113 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3114 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3115 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3116 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3117 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3118 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3119 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3120 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3121 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3122 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3123 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3124 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3125 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3126 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3127 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3128 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3129 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3130 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3131 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3132 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3133 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3134 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3135 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3136 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3137 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3138 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3139 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3140 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3141 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3142 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3143 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3144 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3145 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3146 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3147 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3148 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3149 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3150 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3151 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3152 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3153 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3154 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3155 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3156 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3157 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3158 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3159 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3160 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3161 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3162 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3163 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3164 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3165 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3166 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3167 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3168 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3169 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3170 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3171 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3172 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3173 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3174 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3175 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3176 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3177 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3178 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3179 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3180 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3181 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3182 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3183 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3184 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm1
3185 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm2
3186 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm3
3187 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm4
3188 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm5
3189 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm6
3190 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm7
3191 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm8
3192 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm9
3193 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm10
3194 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm11
3195 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm12
3196 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm13
3197 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm14
3198 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm15
3199 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3200 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3201 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3202 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3203 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3204 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3205 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3206 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3207 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3208 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3209 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3210 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3211 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3212 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3213 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3214 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3215 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3216 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3217 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3218 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3219 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3220 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3221 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3222 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3223 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3224 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3225 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3226 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3227 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3228 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3229 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3230 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3231 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3232 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3233 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3234 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3235 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3236 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3237 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3238 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3239 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3240 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3241 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3242 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3243 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3244 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3245 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3246 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3247 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3248 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3249 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3250 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3251 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3252 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3253 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3254 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3255 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3256 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3257 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3258 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3259 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3260 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3261 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3262 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3263 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3264 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3265 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3266 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3267 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3268 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3269 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3270 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3271 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3272 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3273 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3274 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3275 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3276 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3277 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3278 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3279 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3280 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3281 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3282 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3283 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3284 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3285 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3286 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3287 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3288 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3289 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3290 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3291 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3292 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3293 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3294 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3295 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3296 ; SSE2-NEXT: movw %di, {{[0-9]+}}(%rsp)
3297 ; SSE2-NEXT: movw %cx, {{[0-9]+}}(%rsp)
3298 ; SSE2-NEXT: movw %ax, {{[0-9]+}}(%rsp)
3299 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3300 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3301 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3302 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3303 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3304 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3305 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3306 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3307 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3308 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3309 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3310 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3311 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3312 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3313 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3314 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3315 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3316 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3317 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3318 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3319 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3320 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3321 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3322 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3323 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3324 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3325 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3326 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3327 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3328 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3329 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3330 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3331 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3332 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3333 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3334 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3335 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3336 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3337 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3338 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3339 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3340 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3341 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3342 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3343 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3344 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3345 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3346 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3347 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3348 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3349 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3350 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3351 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3352 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3353 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3354 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3355 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3356 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3357 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3358 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3359 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3360 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3361 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3362 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3363 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3364 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3365 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3366 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3367 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3368 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3369 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3370 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3371 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3372 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3373 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3374 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3375 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3376 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3377 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3378 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3379 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3380 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3381 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3382 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3383 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3384 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3385 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3386 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3387 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3388 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3389 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3390 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3391 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3392 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3393 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3394 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3395 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3396 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3397 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3398 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3399 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3400 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3401 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3402 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3403 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3404 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3405 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3406 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3407 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3408 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3409 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3410 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3411 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3412 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3413 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3414 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3415 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3416 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3417 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3418 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3419 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3420 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3421 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3422 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3423 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3424 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3425 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3426 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3427 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3428 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3429 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3430 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3431 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3432 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3433 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3434 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3435 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3436 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3437 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3438 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3439 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3440 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3441 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3442 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3443 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3444 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3445 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3446 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3447 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3448 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3449 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3450 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3451 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3452 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3453 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3454 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3455 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3456 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3457 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3458 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3459 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3460 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3461 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3462 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3463 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3464 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3465 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3466 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3467 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3468 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3469 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3470 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3471 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3472 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3473 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3474 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3475 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3476 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3477 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3478 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3479 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3480 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3481 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3482 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3483 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3484 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3485 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3486 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3487 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3488 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3489 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3490 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3491 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3492 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3493 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3494 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3495 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3496 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3497 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3498 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3499 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3500 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3501 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3502 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3503 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3504 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3505 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3506 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3507 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3508 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3509 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3510 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3511 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3512 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3513 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3514 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3515 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3516 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3517 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3518 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3519 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3520 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3521 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3522 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3523 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3524 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3525 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3526 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3527 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3528 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3529 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3530 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3531 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3532 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3533 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3534 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3535 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3536 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3537 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3538 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3539 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3540 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3541 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3542 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3543 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3544 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3545 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3546 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3547 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3548 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3549 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3550 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3551 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3552 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3553 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3554 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3555 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3556 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3557 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3558 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3559 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3560 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3561 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3562 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3563 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3564 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3565 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3566 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3567 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3568 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3569 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3570 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3571 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3572 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3573 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3574 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3575 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3576 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3577 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3578 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3579 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3580 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3581 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3582 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3583 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3584 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3585 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3586 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3587 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3588 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3589 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3590 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3591 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3592 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3593 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3594 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3595 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3596 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3597 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3598 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3599 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3600 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3601 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3602 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3603 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3604 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3605 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3606 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3607 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3608 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3609 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3610 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3611 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3612 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3613 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3614 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3615 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3616 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3617 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3618 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3619 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3620 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3621 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3622 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3623 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3624 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3625 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3626 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3627 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3628 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3629 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3630 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3631 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3632 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3633 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3634 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3635 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3636 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3637 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3638 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3639 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3640 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3641 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3642 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3643 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3644 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3645 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3646 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3647 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3648 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3649 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3650 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3651 ; SSE2-NEXT: movaps %xmm15, {{[0-9]+}}(%rsp)
3652 ; SSE2-NEXT: movaps %xmm14, {{[0-9]+}}(%rsp)
3653 ; SSE2-NEXT: movaps %xmm13, {{[0-9]+}}(%rsp)
3654 ; SSE2-NEXT: movaps %xmm12, {{[0-9]+}}(%rsp)
3655 ; SSE2-NEXT: movaps %xmm11, {{[0-9]+}}(%rsp)
3656 ; SSE2-NEXT: movaps %xmm10, {{[0-9]+}}(%rsp)
3657 ; SSE2-NEXT: movaps %xmm9, {{[0-9]+}}(%rsp)
3658 ; SSE2-NEXT: movaps %xmm8, {{[0-9]+}}(%rsp)
3659 ; SSE2-NEXT: movaps %xmm7, {{[0-9]+}}(%rsp)
3660 ; SSE2-NEXT: movaps %xmm6, {{[0-9]+}}(%rsp)
3661 ; SSE2-NEXT: movaps %xmm5, {{[0-9]+}}(%rsp)
3662 ; SSE2-NEXT: movaps %xmm4, {{[0-9]+}}(%rsp)
3663 ; SSE2-NEXT: movaps %xmm3, {{[0-9]+}}(%rsp)
3664 ; SSE2-NEXT: movaps %xmm2, {{[0-9]+}}(%rsp)
3665 ; SSE2-NEXT: movaps %xmm1, {{[0-9]+}}(%rsp)
3666 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3667 ; SSE2-NEXT: movw {{[0-9]+}}(%rsp), %ax
3668 ; SSE2-NEXT: movw {{[0-9]+}}(%rsp), %cx
3669 ; SSE2-NEXT: movzwl {{[0-9]+}}(%rsp), %r10d
3670 ; SSE2-NEXT: movw %r10w, %di
3671 ; SSE2-NEXT: shrl $2, %r10d
3672 ; SSE2-NEXT: movw %r10w, %r9w
3673 ; SSE2-NEXT: xorps %xmm0, %xmm0
3674 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3675 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
3676 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
3677 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
3678 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
3679 ; SSE2-NEXT: movb $1, {{[0-9]+}}(%rsp)
3680 ; SSE2-NEXT: movb %al, %r8b
3681 ; SSE2-NEXT: movb %r8b, {{[0-9]+}}(%rsp)
3682 ; SSE2-NEXT: movw %cx, {{[0-9]+}}(%rsp)
3683 ; SSE2-NEXT: movb %r8b, {{[0-9]+}}(%rsp)
3684 ; SSE2-NEXT: movw %di, {{[0-9]+}}(%rsp)
3685 ; SSE2-NEXT: # kill: def $r10b killed $r10b killed $r10d
3686 ; SSE2-NEXT: movb %r10b, {{[0-9]+}}(%rsp)
3687 ; SSE2-NEXT: movw %cx, {{[0-9]+}}(%rsp)
3688 ; SSE2-NEXT: movb %r8b, {{[0-9]+}}(%rsp)
3689 ; SSE2-NEXT: movw %cx, {{[0-9]+}}(%rsp)
3690 ; SSE2-NEXT: ldtilecfg {{[0-9]+}}(%rsp)
3691 ; SSE2-NEXT: movl $64, %r8d
3692 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %r10
3693 ; SSE2-NEXT: tileloadd (%r10,%r8), %tmm0
3694 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %r10
3695 ; SSE2-NEXT: tileloadd (%r10,%r8), %tmm1
3696 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %r10
3697 ; SSE2-NEXT: tileloadd (%r10,%r8), %tmm2
3698 ; SSE2-NEXT: tdpbssd %tmm2, %tmm1, %tmm0
3699 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rdi
3700 ; SSE2-NEXT: addq $64, %rdi
3701 ; SSE2-NEXT: tilestored %tmm0, (%rdi,%r8)
3702 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
3703 ; SSE2-NEXT: callq memcpy@PLT
3704 ; SSE2-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Reload
3705 ; SSE2-NEXT: movq $buf, {{[0-9]+}}(%rsp)
3706 ; SSE2-NEXT: movq $32, {{[0-9]+}}(%rsp)
3707 ; SSE2-NEXT: movw {{[0-9]+}}(%rsp), %ax
3708 ; SSE2-NEXT: movw %ax, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill
3709 ; SSE2-NEXT: movw {{[0-9]+}}(%rsp), %ax
3710 ; SSE2-NEXT: movw %ax, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill
3711 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rax
3712 ; SSE2-NEXT: movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
3713 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rax
3714 ; SSE2-NEXT: movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
3715 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3716 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3717 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm1
3718 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm2
3719 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm3
3720 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm4
3721 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm5
3722 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm6
3723 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm7
3724 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm8
3725 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm9
3726 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm10
3727 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm11
3728 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm12
3729 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm13
3730 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm14
3731 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm15
3732 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3733 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3734 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3735 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3736 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3737 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3738 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3739 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3740 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3741 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3742 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3743 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3744 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3745 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3746 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3747 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3748 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3749 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3750 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3751 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3752 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3753 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3754 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3755 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3756 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3757 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3758 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3759 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3760 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3761 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3762 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3763 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3764 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3765 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3766 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3767 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3768 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3769 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3770 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3771 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3772 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3773 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3774 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3775 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3776 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3777 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3778 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3779 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3780 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3781 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3782 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3783 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3784 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3785 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3786 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3787 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3788 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3789 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3790 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3791 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3792 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3793 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3794 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3795 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3796 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3797 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3798 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3799 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3800 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3801 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3802 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3803 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3804 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3805 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3806 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3807 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3808 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3809 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3810 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3811 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3812 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3813 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3814 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3815 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3816 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3817 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3818 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3819 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3820 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3821 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3822 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3823 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3824 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3825 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3826 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3827 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3828 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3829 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3830 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3831 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3832 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3833 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3834 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3835 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3836 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3837 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3838 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3839 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3840 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3841 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3842 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3843 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3844 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3845 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3846 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3847 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3848 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3849 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3850 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3851 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3852 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3853 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3854 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3855 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3856 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3857 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3858 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3859 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3860 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3861 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3862 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3863 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3864 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3865 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3866 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3867 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3868 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3869 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3870 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3871 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3872 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3873 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3874 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3875 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3876 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3877 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3878 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3879 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3880 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3881 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3882 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3883 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3884 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3885 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3886 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3887 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3888 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3889 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3890 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3891 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3892 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3893 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3894 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3895 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3896 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3897 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3898 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3899 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3900 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3901 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3902 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3903 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3904 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3905 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3906 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3907 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3908 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3909 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3910 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3911 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3912 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3913 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3914 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3915 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3916 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3917 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3918 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3919 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3920 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3921 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3922 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
3923 ; SSE2-NEXT: movaps %xmm15, {{[0-9]+}}(%rsp)
3924 ; SSE2-NEXT: movaps %xmm14, {{[0-9]+}}(%rsp)
3925 ; SSE2-NEXT: movaps %xmm13, {{[0-9]+}}(%rsp)
3926 ; SSE2-NEXT: movaps %xmm12, {{[0-9]+}}(%rsp)
3927 ; SSE2-NEXT: movaps %xmm11, {{[0-9]+}}(%rsp)
3928 ; SSE2-NEXT: movaps %xmm10, {{[0-9]+}}(%rsp)
3929 ; SSE2-NEXT: movaps %xmm9, {{[0-9]+}}(%rsp)
3930 ; SSE2-NEXT: movaps %xmm8, {{[0-9]+}}(%rsp)
3931 ; SSE2-NEXT: movaps %xmm7, {{[0-9]+}}(%rsp)
3932 ; SSE2-NEXT: movaps %xmm6, {{[0-9]+}}(%rsp)
3933 ; SSE2-NEXT: movaps %xmm5, {{[0-9]+}}(%rsp)
3934 ; SSE2-NEXT: movaps %xmm4, {{[0-9]+}}(%rsp)
3935 ; SSE2-NEXT: movaps %xmm3, {{[0-9]+}}(%rsp)
3936 ; SSE2-NEXT: movaps %xmm2, {{[0-9]+}}(%rsp)
3937 ; SSE2-NEXT: movaps %xmm1, {{[0-9]+}}(%rsp)
3938 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
3939 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
3940 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %rsi
3941 ; SSE2-NEXT: callq memcpy@PLT
3942 ; SSE2-NEXT: movw {{[-0-9]+}}(%r{{[sb]}}p), %si # 2-byte Reload
3943 ; SSE2-NEXT: movw {{[-0-9]+}}(%r{{[sb]}}p), %dx # 2-byte Reload
3944 ; SSE2-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Reload
3945 ; SSE2-NEXT: # kill: def $rdi killed $rax
3946 ; SSE2-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Reload
3947 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm1
3948 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm2
3949 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm3
3950 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm4
3951 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm5
3952 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm6
3953 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm7
3954 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm8
3955 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm9
3956 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm10
3957 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm11
3958 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm12
3959 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm13
3960 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm14
3961 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm15
3962 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3963 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3964 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3965 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3966 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3967 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3968 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3969 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3970 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3971 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3972 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3973 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3974 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3975 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3976 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3977 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3978 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3979 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3980 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3981 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3982 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3983 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3984 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3985 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3986 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3987 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3988 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3989 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3990 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3991 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3992 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3993 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3994 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3995 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3996 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3997 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
3998 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
3999 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4000 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4001 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4002 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4003 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4004 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4005 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4006 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4007 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4008 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4009 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4010 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4011 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4012 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4013 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4014 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4015 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4016 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4017 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4018 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4019 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4020 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4021 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4022 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4023 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4024 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4025 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4026 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4027 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4028 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4029 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4030 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4031 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4032 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4033 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4034 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4035 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4036 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4037 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4038 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4039 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4040 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4041 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4042 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4043 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4044 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4045 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4046 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4047 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4048 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4049 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4050 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4051 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4052 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4053 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4054 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4055 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4056 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4057 ; SSE2-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
4058 ; SSE2-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0
4059 ; SSE2-NEXT: movw %si, {{[0-9]+}}(%rsp)
4060 ; SSE2-NEXT: movw %dx, {{[0-9]+}}(%rsp)
4061 ; SSE2-NEXT: movq %rcx, {{[0-9]+}}(%rsp)
4062 ; SSE2-NEXT: movq %rax, {{[0-9]+}}(%rsp)
4063 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4064 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4065 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4066 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4067 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4068 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4069 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4070 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4071 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4072 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4073 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4074 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4075 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4076 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4077 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4078 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4079 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4080 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4081 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4082 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4083 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4084 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4085 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4086 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4087 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4088 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4089 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4090 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4091 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4092 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4093 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4094 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4095 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4096 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4097 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4098 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4099 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4100 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4101 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4102 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4103 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4104 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4105 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4106 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4107 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4108 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4109 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4110 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4111 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4112 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4113 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4114 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4115 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4116 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4117 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4118 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4119 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4120 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4121 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4122 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4123 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4124 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4125 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4126 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4127 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4128 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4129 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4130 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4131 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4132 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4133 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4134 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4135 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4136 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4137 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4138 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4139 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4140 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4141 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4142 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4143 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4144 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4145 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4146 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4147 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4148 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4149 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4150 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4151 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4152 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4153 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4154 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4155 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4156 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4157 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4158 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4159 ; SSE2-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp)
4160 ; SSE2-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
4161 ; SSE2-NEXT: movaps %xmm15, {{[0-9]+}}(%rsp)
4162 ; SSE2-NEXT: movaps %xmm14, {{[0-9]+}}(%rsp)
4163 ; SSE2-NEXT: movaps %xmm13, {{[0-9]+}}(%rsp)
4164 ; SSE2-NEXT: movaps %xmm12, {{[0-9]+}}(%rsp)
4165 ; SSE2-NEXT: movaps %xmm11, {{[0-9]+}}(%rsp)
4166 ; SSE2-NEXT: movaps %xmm10, {{[0-9]+}}(%rsp)
4167 ; SSE2-NEXT: movaps %xmm9, {{[0-9]+}}(%rsp)
4168 ; SSE2-NEXT: movaps %xmm8, {{[0-9]+}}(%rsp)
4169 ; SSE2-NEXT: movaps %xmm7, {{[0-9]+}}(%rsp)
4170 ; SSE2-NEXT: movaps %xmm6, {{[0-9]+}}(%rsp)
4171 ; SSE2-NEXT: movaps %xmm5, {{[0-9]+}}(%rsp)
4172 ; SSE2-NEXT: movaps %xmm4, {{[0-9]+}}(%rsp)
4173 ; SSE2-NEXT: movaps %xmm3, {{[0-9]+}}(%rsp)
4174 ; SSE2-NEXT: movaps %xmm2, {{[0-9]+}}(%rsp)
4175 ; SSE2-NEXT: movaps %xmm1, {{[0-9]+}}(%rsp)
4176 ; SSE2-NEXT: movw {{[0-9]+}}(%rsp), %ax
4177 ; SSE2-NEXT: movw {{[0-9]+}}(%rsp), %cx
4178 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rdx
4179 ; SSE2-NEXT: movq {{[0-9]+}}(%rsp), %rsi
4180 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
4181 ; SSE2-NEXT: leaq {{[0-9]+}}(%rsp), %r8
4182 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
4183 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
4184 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
4185 ; SSE2-NEXT: movups %xmm0, {{[0-9]+}}(%rsp)
4186 ; SSE2-NEXT: movb $1, {{[0-9]+}}(%rsp)
4187 ; SSE2-NEXT: movb %al, %r9b
4188 ; SSE2-NEXT: movb %r9b, {{[0-9]+}}(%rsp)
4189 ; SSE2-NEXT: movw %cx, {{[0-9]+}}(%rsp)
4190 ; SSE2-NEXT: ldtilecfg (%r8)
4191 ; SSE2-NEXT: movl $64, %r8d
4192 ; SSE2-NEXT: tileloadd (%rdi,%r8), %tmm0
4193 ; SSE2-NEXT: tilestored %tmm0, (%rdx,%rsi)
4194 ; SSE2-NEXT: movq %rbp, %rsp
4195 ; SSE2-NEXT: popq %rbp
4196 ; SSE2-NEXT: .cfi_def_cfa %rsp, 8
4197 ; SSE2-NEXT: tilerelease
4200 %m.addr.i85 = alloca i16, align 2
4201 %n.addr.i86 = alloca i16, align 2
4202 %base.addr.i87 = alloca i8*, align 8
4203 %stride.addr.i88 = alloca i64, align 8
4204 %tile.addr.i = alloca <256 x i32>, align 64
4205 %indirect-arg-temp.i5284 = alloca <256 x i32>, align 1024
4206 %m.addr.i81 = alloca i16, align 2
4207 %n.addr.i82 = alloca i16, align 2
4208 %k.addr.i = alloca i16, align 2
4209 %dst.addr.i83 = alloca <256 x i32>, align 64
4210 %src1.addr.i = alloca <256 x i32>, align 64
4211 %src2.addr.i = alloca <256 x i32>, align 64
4212 %indirect-arg-temp5.i80 = alloca <256 x i32>, align 1024
4213 %indirect-arg-temp4.i79 = alloca <256 x i32>, align 1024
4214 %indirect-arg-temp.i78 = alloca <256 x i32>, align 1024
4215 %m.addr.i74 = alloca i16, align 2
4216 %n.addr.i75 = alloca i16, align 2
4217 %base.addr.i76 = alloca i8*, align 8
4218 %stride.addr.i77 = alloca i64, align 8
4219 %m.addr.i70 = alloca i16, align 2
4220 %n.addr.i71 = alloca i16, align 2
4221 %base.addr.i72 = alloca i8*, align 8
4222 %stride.addr.i73 = alloca i64, align 8
4223 %m.addr.i66 = alloca i16, align 2
4224 %n.addr.i67 = alloca i16, align 2
4225 %base.addr.i68 = alloca i8*, align 8
4226 %stride.addr.i69 = alloca i64, align 8
4227 %m.addr.i62 = alloca i16, align 2
4228 %n.addr.i63 = alloca i16, align 2
4229 %base.addr.i64 = alloca i8*, align 8
4230 %stride.addr.i65 = alloca i64, align 8
4231 %m.addr.i58 = alloca i16, align 2
4232 %n.addr.i59 = alloca i16, align 2
4233 %base.addr.i60 = alloca i8*, align 8
4234 %stride.addr.i61 = alloca i64, align 8
4235 %m.addr.i = alloca i16, align 2
4236 %n.addr.i = alloca i16, align 2
4237 %base.addr.i56 = alloca i8*, align 8
4238 %stride.addr.i57 = alloca i64, align 8
4239 %base.addr.i50 = alloca i8*, align 8
4240 %stride.addr.i51 = alloca i64, align 8
4241 %indirect-arg-temp.i52 = alloca <256 x i32>, align 1024
4242 %c49 = alloca %struct.__tile1024i_str, align 64
4243 %dst.addr.i44 = alloca %struct.__tile1024i_str*, align 8
4244 %indirect-arg-temp.i = alloca <256 x i32>, align 1024
4245 %indirect-arg-temp4.i = alloca <256 x i32>, align 1024
4246 %indirect-arg-temp5.i = alloca <256 x i32>, align 1024
4247 %b43 = alloca %struct.__tile1024i_str, align 64
4248 %a42 = alloca %struct.__tile1024i_str, align 64
4249 %dst.addr.i35 = alloca %struct.__tile1024i_str*, align 8
4250 %base.addr.i36 = alloca i8*, align 8
4251 %stride.addr.i37 = alloca i64, align 8
4252 %dst.addr.i28 = alloca %struct.__tile1024i_str*, align 8
4253 %base.addr.i29 = alloca i8*, align 8
4254 %stride.addr.i30 = alloca i64, align 8
4255 %dst.addr.i21 = alloca %struct.__tile1024i_str*, align 8
4256 %base.addr.i22 = alloca i8*, align 8
4257 %stride.addr.i23 = alloca i64, align 8
4258 %dst.addr.i14 = alloca %struct.__tile1024i_str*, align 8
4259 %base.addr.i15 = alloca i8*, align 8
4260 %stride.addr.i16 = alloca i64, align 8
4261 %dst.addr.i7 = alloca %struct.__tile1024i_str*, align 8
4262 %base.addr.i8 = alloca i8*, align 8
4263 %stride.addr.i9 = alloca i64, align 8
4264 %dst.addr.i = alloca %struct.__tile1024i_str*, align 8
4265 %base.addr.i = alloca i8*, align 8
4266 %stride.addr.i = alloca i64, align 8
4267 %cond.addr = alloca i32, align 4
4268 %row.addr = alloca i16, align 2
4269 %col.addr = alloca i16, align 2
4270 %a = alloca %struct.__tile1024i_str, align 64
4271 %b = alloca %struct.__tile1024i_str, align 64
4272 %c = alloca %struct.__tile1024i_str, align 64
4273 store i32 %cond, i32* %cond.addr, align 4
4274 store i16 %row, i16* %row.addr, align 2
4275 store i16 %col, i16* %col.addr, align 2
4276 %0 = bitcast %struct.__tile1024i_str* %a to i8*
4277 call void @llvm.memset.p0i8.i64(i8* align 64 %0, i8 0, i64 1088, i1 false)
4278 %row1 = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %a, i32 0, i32 0
4279 %1 = load i16, i16* %row.addr, align 2
4280 store i16 %1, i16* %row1, align 64
4281 %col2 = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %a, i32 0, i32 1
4282 store i16 8, i16* %col2, align 2
4283 %2 = bitcast %struct.__tile1024i_str* %b to i8*
4284 call void @llvm.memset.p0i8.i64(i8* align 64 %2, i8 0, i64 1088, i1 false)
4285 %row3 = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %b, i32 0, i32 0
4286 store i16 8, i16* %row3, align 64
4287 %col4 = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %b, i32 0, i32 1
4288 %3 = load i16, i16* %col.addr, align 2
4289 store i16 %3, i16* %col4, align 2
4290 %4 = bitcast %struct.__tile1024i_str* %c to i8*
4291 call void @llvm.memset.p0i8.i64(i8* align 64 %4, i8 0, i64 1088, i1 false)
4292 %row5 = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %c, i32 0, i32 0
4293 %5 = load i16, i16* %row.addr, align 2
4294 store i16 %5, i16* %row5, align 64
4295 %col6 = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %c, i32 0, i32 1
4296 %6 = load i16, i16* %col.addr, align 2
4297 store i16 %6, i16* %col6, align 2
4298 %7 = load i32, i32* %cond.addr, align 4
4299 %tobool = icmp ne i32 %7, 0
4300 br i1 %tobool, label %if.then, label %if.else
4302 if.then: ; preds = %entry
4303 store %struct.__tile1024i_str* %a, %struct.__tile1024i_str** %dst.addr.i35, align 8
4304 store i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf, i64 0, i64 0), i8** %base.addr.i36, align 8
4305 store i64 32, i64* %stride.addr.i37, align 8
4306 %8 = load %struct.__tile1024i_str*, %struct.__tile1024i_str** %dst.addr.i35, align 8
4307 %row.i38 = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %8, i32 0, i32 0
4308 %9 = load i16, i16* %row.i38, align 64
4309 %10 = load %struct.__tile1024i_str*, %struct.__tile1024i_str** %dst.addr.i35, align 8
4310 %col.i39 = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %10, i32 0, i32 1
4311 %11 = load i16, i16* %col.i39, align 2
4312 %12 = load i8*, i8** %base.addr.i36, align 8
4313 %13 = load i64, i64* %stride.addr.i37, align 8
4314 store i16 %9, i16* %m.addr.i, align 2
4315 store i16 %11, i16* %n.addr.i, align 2
4316 store i8* %12, i8** %base.addr.i56, align 8
4317 store i64 %13, i64* %stride.addr.i57, align 8
4318 %14 = load i16, i16* %m.addr.i, align 2
4319 %15 = load i16, i16* %n.addr.i, align 2
4320 %16 = load i8*, i8** %base.addr.i56, align 8
4321 %17 = load i64, i64* %stride.addr.i57, align 8
4322 %18 = call x86_amx @llvm.x86.tileloadd64.internal(i16 %14, i16 %15, i8* %16, i64 %17) #2
4323 %19 = bitcast x86_amx %18 to <256 x i32>
4324 %20 = load %struct.__tile1024i_str*, %struct.__tile1024i_str** %dst.addr.i35, align 8
4325 %tile.i41 = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %20, i32 0, i32 3
4326 store <256 x i32> %19, <256 x i32>* %tile.i41, align 64
4327 store %struct.__tile1024i_str* %b, %struct.__tile1024i_str** %dst.addr.i28, align 8
4328 store i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf, i64 0, i64 0), i8** %base.addr.i29, align 8
4329 store i64 32, i64* %stride.addr.i30, align 8
4330 %21 = load %struct.__tile1024i_str*, %struct.__tile1024i_str** %dst.addr.i28, align 8
4331 %row.i31 = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %21, i32 0, i32 0
4332 %22 = load i16, i16* %row.i31, align 64
4333 %23 = load %struct.__tile1024i_str*, %struct.__tile1024i_str** %dst.addr.i28, align 8
4334 %col.i32 = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %23, i32 0, i32 1
4335 %24 = load i16, i16* %col.i32, align 2
4336 %25 = load i8*, i8** %base.addr.i29, align 8
4337 %26 = load i64, i64* %stride.addr.i30, align 8
4338 store i16 %22, i16* %m.addr.i58, align 2
4339 store i16 %24, i16* %n.addr.i59, align 2
4340 store i8* %25, i8** %base.addr.i60, align 8
4341 store i64 %26, i64* %stride.addr.i61, align 8
4342 %27 = load i16, i16* %m.addr.i58, align 2
4343 %28 = load i16, i16* %n.addr.i59, align 2
4344 %29 = load i8*, i8** %base.addr.i60, align 8
4345 %30 = load i64, i64* %stride.addr.i61, align 8
4346 %31 = call x86_amx @llvm.x86.tileloadd64.internal(i16 %27, i16 %28, i8* %29, i64 %30) #2
4347 %32 = bitcast x86_amx %31 to <256 x i32>
4348 %33 = load %struct.__tile1024i_str*, %struct.__tile1024i_str** %dst.addr.i28, align 8
4349 %tile.i34 = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %33, i32 0, i32 3
4350 store <256 x i32> %32, <256 x i32>* %tile.i34, align 64
4351 store %struct.__tile1024i_str* %c, %struct.__tile1024i_str** %dst.addr.i21, align 8
4352 store i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf, i64 0, i64 0), i8** %base.addr.i22, align 8
4353 store i64 32, i64* %stride.addr.i23, align 8
4354 %34 = load %struct.__tile1024i_str*, %struct.__tile1024i_str** %dst.addr.i21, align 8
4355 %row.i24 = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %34, i32 0, i32 0
4356 %35 = load i16, i16* %row.i24, align 64
4357 %36 = load %struct.__tile1024i_str*, %struct.__tile1024i_str** %dst.addr.i21, align 8
4358 %col.i25 = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %36, i32 0, i32 1
4359 %37 = load i16, i16* %col.i25, align 2
4360 %38 = load i8*, i8** %base.addr.i22, align 8
4361 %39 = load i64, i64* %stride.addr.i23, align 8
4362 store i16 %35, i16* %m.addr.i62, align 2
4363 store i16 %37, i16* %n.addr.i63, align 2
4364 store i8* %38, i8** %base.addr.i64, align 8
4365 store i64 %39, i64* %stride.addr.i65, align 8
4366 %40 = load i16, i16* %m.addr.i62, align 2
4367 %41 = load i16, i16* %n.addr.i63, align 2
4368 %42 = load i8*, i8** %base.addr.i64, align 8
4369 %43 = load i64, i64* %stride.addr.i65, align 8
4370 %44 = call x86_amx @llvm.x86.tileloadd64.internal(i16 %40, i16 %41, i8* %42, i64 %43) #2
4371 %45 = bitcast x86_amx %44 to <256 x i32>
4372 %46 = load %struct.__tile1024i_str*, %struct.__tile1024i_str** %dst.addr.i21, align 8
4373 %tile.i27 = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %46, i32 0, i32 3
4374 store <256 x i32> %45, <256 x i32>* %tile.i27, align 64
4377 if.else: ; preds = %entry
4378 store %struct.__tile1024i_str* %a, %struct.__tile1024i_str** %dst.addr.i14, align 8
4379 store i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf2, i64 0, i64 0), i8** %base.addr.i15, align 8
4380 store i64 32, i64* %stride.addr.i16, align 8
4381 %47 = load %struct.__tile1024i_str*, %struct.__tile1024i_str** %dst.addr.i14, align 8
4382 %row.i17 = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %47, i32 0, i32 0
4383 %48 = load i16, i16* %row.i17, align 64
4384 %49 = load %struct.__tile1024i_str*, %struct.__tile1024i_str** %dst.addr.i14, align 8
4385 %col.i18 = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %49, i32 0, i32 1
4386 %50 = load i16, i16* %col.i18, align 2
4387 %51 = load i8*, i8** %base.addr.i15, align 8
4388 %52 = load i64, i64* %stride.addr.i16, align 8
4389 store i16 %48, i16* %m.addr.i66, align 2
4390 store i16 %50, i16* %n.addr.i67, align 2
4391 store i8* %51, i8** %base.addr.i68, align 8
4392 store i64 %52, i64* %stride.addr.i69, align 8
4393 %53 = load i16, i16* %m.addr.i66, align 2
4394 %54 = load i16, i16* %n.addr.i67, align 2
4395 %55 = load i8*, i8** %base.addr.i68, align 8
4396 %56 = load i64, i64* %stride.addr.i69, align 8
4397 %57 = call x86_amx @llvm.x86.tileloadd64.internal(i16 %53, i16 %54, i8* %55, i64 %56) #2
4398 %58 = bitcast x86_amx %57 to <256 x i32>
4399 %59 = load %struct.__tile1024i_str*, %struct.__tile1024i_str** %dst.addr.i14, align 8
4400 %tile.i20 = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %59, i32 0, i32 3
4401 store <256 x i32> %58, <256 x i32>* %tile.i20, align 64
4402 store %struct.__tile1024i_str* %b, %struct.__tile1024i_str** %dst.addr.i7, align 8
4403 store i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf2, i64 0, i64 0), i8** %base.addr.i8, align 8
4404 store i64 32, i64* %stride.addr.i9, align 8
4405 %60 = load %struct.__tile1024i_str*, %struct.__tile1024i_str** %dst.addr.i7, align 8
4406 %row.i10 = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %60, i32 0, i32 0
4407 %61 = load i16, i16* %row.i10, align 64
4408 %62 = load %struct.__tile1024i_str*, %struct.__tile1024i_str** %dst.addr.i7, align 8
4409 %col.i11 = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %62, i32 0, i32 1
4410 %63 = load i16, i16* %col.i11, align 2
4411 %64 = load i8*, i8** %base.addr.i8, align 8
4412 %65 = load i64, i64* %stride.addr.i9, align 8
4413 store i16 %61, i16* %m.addr.i70, align 2
4414 store i16 %63, i16* %n.addr.i71, align 2
4415 store i8* %64, i8** %base.addr.i72, align 8
4416 store i64 %65, i64* %stride.addr.i73, align 8
4417 %66 = load i16, i16* %m.addr.i70, align 2
4418 %67 = load i16, i16* %n.addr.i71, align 2
4419 %68 = load i8*, i8** %base.addr.i72, align 8
4420 %69 = load i64, i64* %stride.addr.i73, align 8
4421 %70 = call x86_amx @llvm.x86.tileloadd64.internal(i16 %66, i16 %67, i8* %68, i64 %69) #2
4422 %71 = bitcast x86_amx %70 to <256 x i32>
4423 %72 = load %struct.__tile1024i_str*, %struct.__tile1024i_str** %dst.addr.i7, align 8
4424 %tile.i13 = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %72, i32 0, i32 3
4425 store <256 x i32> %71, <256 x i32>* %tile.i13, align 64
4426 store %struct.__tile1024i_str* %c, %struct.__tile1024i_str** %dst.addr.i, align 8
4427 store i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf2, i64 0, i64 0), i8** %base.addr.i, align 8
4428 store i64 32, i64* %stride.addr.i, align 8
4429 %73 = load %struct.__tile1024i_str*, %struct.__tile1024i_str** %dst.addr.i, align 8
4430 %row.i = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %73, i32 0, i32 0
4431 %74 = load i16, i16* %row.i, align 64
4432 %75 = load %struct.__tile1024i_str*, %struct.__tile1024i_str** %dst.addr.i, align 8
4433 %col.i = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %75, i32 0, i32 1
4434 %76 = load i16, i16* %col.i, align 2
4435 %77 = load i8*, i8** %base.addr.i, align 8
4436 %78 = load i64, i64* %stride.addr.i, align 8
4437 store i16 %74, i16* %m.addr.i74, align 2
4438 store i16 %76, i16* %n.addr.i75, align 2
4439 store i8* %77, i8** %base.addr.i76, align 8
4440 store i64 %78, i64* %stride.addr.i77, align 8
4441 %79 = load i16, i16* %m.addr.i74, align 2
4442 %80 = load i16, i16* %n.addr.i75, align 2
4443 %81 = load i8*, i8** %base.addr.i76, align 8
4444 %82 = load i64, i64* %stride.addr.i77, align 8
4445 %83 = call x86_amx @llvm.x86.tileloadd64.internal(i16 %79, i16 %80, i8* %81, i64 %82) #2
4446 %84 = bitcast x86_amx %83 to <256 x i32>
4447 %85 = load %struct.__tile1024i_str*, %struct.__tile1024i_str** %dst.addr.i, align 8
4448 %tile.i = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %85, i32 0, i32 3
4449 store <256 x i32> %84, <256 x i32>* %tile.i, align 64
4452 if.end: ; preds = %if.else, %if.then
4453 %86 = bitcast %struct.__tile1024i_str* %b43 to i8*
4454 %87 = bitcast %struct.__tile1024i_str* %b to i8*
4455 call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %86, i8* align 1 %87, i64 1088, i1 false) #2
4456 %88 = bitcast %struct.__tile1024i_str* %a42 to i8*
4457 %89 = bitcast %struct.__tile1024i_str* %a to i8*
4458 call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %88, i8* align 1 %89, i64 1088, i1 false) #2
4459 store %struct.__tile1024i_str* %c, %struct.__tile1024i_str** %dst.addr.i44, align 8
4460 %row.i45 = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %a42, i32 0, i32 0
4461 %90 = load i16, i16* %row.i45, align 64
4462 %col.i46 = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %b43, i32 0, i32 1
4463 %91 = load i16, i16* %col.i46, align 2
4464 %col1.i = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %a42, i32 0, i32 1
4465 %92 = load i16, i16* %col1.i, align 2
4466 %93 = load %struct.__tile1024i_str*, %struct.__tile1024i_str** %dst.addr.i44, align 8
4467 %tile.i47 = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %93, i32 0, i32 3
4468 %94 = load <256 x i32>, <256 x i32>* %tile.i47, align 64
4469 %tile2.i = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %a42, i32 0, i32 3
4470 %95 = load <256 x i32>, <256 x i32>* %tile2.i, align 64
4471 %tile3.i = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %b43, i32 0, i32 3
4472 %96 = load <256 x i32>, <256 x i32>* %tile3.i, align 64
4473 store <256 x i32> %94, <256 x i32>* %indirect-arg-temp.i, align 1024
4474 store <256 x i32> %95, <256 x i32>* %indirect-arg-temp4.i, align 1024
4475 store <256 x i32> %96, <256 x i32>* %indirect-arg-temp5.i, align 1024
4476 %97 = bitcast <256 x i32>* %indirect-arg-temp5.i80 to i8*
4477 %98 = bitcast <256 x i32>* %indirect-arg-temp5.i to i8*
4478 call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %97, i8* align 1 %98, i64 1024, i1 false) #2
4479 %99 = bitcast <256 x i32>* %indirect-arg-temp4.i79 to i8*
4480 %100 = bitcast <256 x i32>* %indirect-arg-temp4.i to i8*
4481 call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %99, i8* align 1 %100, i64 1024, i1 false) #2
4482 %101 = bitcast <256 x i32>* %indirect-arg-temp.i78 to i8*
4483 %102 = bitcast <256 x i32>* %indirect-arg-temp.i to i8*
4484 call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %101, i8* align 1 %102, i64 1024, i1 false) #2
4485 %dst.i = load <256 x i32>, <256 x i32>* %indirect-arg-temp.i78, align 1024
4486 %src1.i = load <256 x i32>, <256 x i32>* %indirect-arg-temp4.i79, align 1024
4487 %src2.i = load <256 x i32>, <256 x i32>* %indirect-arg-temp5.i80, align 1024
4488 store i16 %90, i16* %m.addr.i81, align 2
4489 store i16 %91, i16* %n.addr.i82, align 2
4490 store i16 %92, i16* %k.addr.i, align 2
4491 store <256 x i32> %dst.i, <256 x i32>* %dst.addr.i83, align 64
4492 store <256 x i32> %src1.i, <256 x i32>* %src1.addr.i, align 64
4493 store <256 x i32> %src2.i, <256 x i32>* %src2.addr.i, align 64
4494 %103 = load i16, i16* %m.addr.i81, align 2
4495 %104 = load i16, i16* %n.addr.i82, align 2
4496 %105 = load i16, i16* %k.addr.i, align 2
4497 %106 = load <256 x i32>, <256 x i32>* %dst.addr.i83, align 64
4498 %107 = bitcast <256 x i32> %106 to x86_amx
4499 %108 = load <256 x i32>, <256 x i32>* %src1.addr.i, align 64
4500 %109 = bitcast <256 x i32> %108 to x86_amx
4501 %110 = load <256 x i32>, <256 x i32>* %src2.addr.i, align 64
4502 %111 = bitcast <256 x i32> %110 to x86_amx
4503 %112 = call x86_amx @llvm.x86.tdpbssd.internal(i16 %103, i16 %104, i16 %105, x86_amx %107, x86_amx %109, x86_amx %111) #2
4504 %113 = bitcast x86_amx %112 to <256 x i32>
4505 %114 = load %struct.__tile1024i_str*, %struct.__tile1024i_str** %dst.addr.i44, align 8
4506 %tile6.i = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %114, i32 0, i32 3
4507 store <256 x i32> %113, <256 x i32>* %tile6.i, align 64
4508 %115 = bitcast %struct.__tile1024i_str* %c49 to i8*
4509 %116 = bitcast %struct.__tile1024i_str* %c to i8*
4510 call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %115, i8* align 1 %116, i64 1088, i1 false) #2
4511 store i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @buf, i64 0, i64 0), i8** %base.addr.i50, align 8
4512 store i64 32, i64* %stride.addr.i51, align 8
4513 %row.i53 = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %c49, i32 0, i32 0
4514 %117 = load i16, i16* %row.i53, align 64
4515 %col.i54 = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %c49, i32 0, i32 1
4516 %118 = load i16, i16* %col.i54, align 2
4517 %119 = load i8*, i8** %base.addr.i50, align 8
4518 %120 = load i64, i64* %stride.addr.i51, align 8
4519 %tile.i55 = getelementptr inbounds %struct.__tile1024i_str, %struct.__tile1024i_str* %c49, i32 0, i32 3
4520 %121 = load <256 x i32>, <256 x i32>* %tile.i55, align 64
4521 store <256 x i32> %121, <256 x i32>* %indirect-arg-temp.i52, align 1024
4522 %122 = bitcast <256 x i32>* %indirect-arg-temp.i5284 to i8*
4523 %123 = bitcast <256 x i32>* %indirect-arg-temp.i52 to i8*
4524 call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %122, i8* align 1 %123, i64 1024, i1 false) #2
4525 %tile.i89 = load <256 x i32>, <256 x i32>* %indirect-arg-temp.i5284, align 1024
4526 store i16 %117, i16* %m.addr.i85, align 2
4527 store i16 %118, i16* %n.addr.i86, align 2
4528 store i8* %119, i8** %base.addr.i87, align 8
4529 store i64 %120, i64* %stride.addr.i88, align 8
4530 store <256 x i32> %tile.i89, <256 x i32>* %tile.addr.i, align 64
4531 %124 = load i16, i16* %m.addr.i85, align 2
4532 %125 = load i16, i16* %n.addr.i86, align 2
4533 %126 = load i8*, i8** %base.addr.i87, align 8
4534 %127 = load i64, i64* %stride.addr.i88, align 8
4535 %128 = load <256 x i32>, <256 x i32>* %tile.addr.i, align 64
4536 %129 = bitcast <256 x i32> %128 to x86_amx
4537 call void @llvm.x86.tilestored64.internal(i16 %124, i16 %125, i8* %126, i64 %127, x86_amx %129) #2
4541 ; Function Attrs: argmemonly nofree nosync nounwind willreturn writeonly
4542 declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1 immarg) #1
4544 ; Function Attrs: nounwind
4545 declare x86_amx @llvm.x86.tileloadd64.internal(i16, i16, i8*, i64) #2
4547 ; Function Attrs: nounwind
4548 declare x86_amx @llvm.x86.tdpbssd.internal(i16, i16, i16, x86_amx, x86_amx, x86_amx) #2
4550 ; Function Attrs: nounwind
4551 declare void @llvm.x86.tilestored64.internal(i16, i16, i8*, i64, x86_amx) #2
4553 ; Function Attrs: argmemonly nofree nosync nounwind willreturn
4554 declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #3
4556 attributes #0 = { noinline nounwind optnone uwtable }
4557 attributes #1 = { argmemonly nofree nosync nounwind willreturn writeonly }
4558 attributes #2 = { nounwind }
4559 attributes #3 = { argmemonly nofree nosync nounwind willreturn }