Lines Matching refs:WIN64
6 ; RUN: llc < %s -mtriple=x86_64-win32 -mcpu=knl | FileCheck %s -check-prefixes=WIN64,WIN64-KNL
7 ; RUN: llc < %s -mtriple=x86_64-win32 -mcpu=skx | FileCheck %s -check-prefixes=WIN64,WIN64-SKX
48 ; WIN64-LABEL: testf16_inp:
49 ; WIN64: # %bb.0:
50 ; WIN64-NEXT: pushq %rbp
51 ; WIN64-NEXT: subq $176, %rsp
52 ; WIN64-NEXT: leaq {{[0-9]+}}(%rsp), %rbp
53 ; WIN64-NEXT: andq $-64, %rsp
54 ; WIN64-NEXT: vmovaps (%rcx), %zmm0
55 ; WIN64-NEXT: vaddps (%rdx), %zmm0, %zmm0
56 ; WIN64-NEXT: leaq {{[0-9]+}}(%rsp), %rcx
57 ; WIN64-NEXT: callq func_float16_ptr
58 ; WIN64-NEXT: vaddps {{[0-9]+}}(%rsp), %zmm0, %zmm0
59 ; WIN64-NEXT: leaq 48(%rbp), %rsp
60 ; WIN64-NEXT: popq %rbp
61 ; WIN64-NEXT: retq
126 ; WIN64-LABEL: testf16_regs:
127 ; WIN64: # %bb.0:
128 ; WIN64-NEXT: pushq %rbp
129 ; WIN64-NEXT: subq $176, %rsp
130 ; WIN64-NEXT: leaq {{[0-9]+}}(%rsp), %rbp
131 ; WIN64-NEXT: andq $-64, %rsp
132 ; WIN64-NEXT: vmovaps (%rdx), %zmm16
133 ; WIN64-NEXT: vaddps (%rcx), %zmm16, %zmm0
134 ; WIN64-NEXT: leaq {{[0-9]+}}(%rsp), %rcx
135 ; WIN64-NEXT: callq func_float16_ptr
136 ; WIN64-NEXT: vaddps %zmm16, %zmm0, %zmm0
137 ; WIN64-NEXT: vaddps {{[0-9]+}}(%rsp), %zmm0, %zmm0
138 ; WIN64-NEXT: leaq 48(%rbp), %rsp
139 ; WIN64-NEXT: popq %rbp
140 ; WIN64-NEXT: retq
184 ; WIN64-KNL-LABEL: test_prolog_epilog:
185 ; WIN64-KNL: # %bb.0:
186 ; WIN64-KNL-NEXT: pushq %rbp
187 ; WIN64-KNL-NEXT: subq $1264, %rsp # imm = 0x4F0
188 ; WIN64-KNL-NEXT: leaq {{[0-9]+}}(%rsp), %rbp
189 ; WIN64-KNL-NEXT: kmovw %k7, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill
190 ; WIN64-KNL-NEXT: kmovw %k6, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill
191 ; WIN64-KNL-NEXT: kmovw %k5, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill
192 ; WIN64-KNL-NEXT: kmovw %k4, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill
193 ; WIN64-KNL-NEXT: vmovaps %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
194 ; WIN64-KNL-NEXT: vmovaps %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
195 ; WIN64-KNL-NEXT: vmovaps %zmm19, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
196 ; WIN64-KNL-NEXT: vmovaps %zmm18, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
197 ; WIN64-KNL-NEXT: vmovaps %zmm17, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
198 ; WIN64-KNL-NEXT: vmovaps %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
199 ; WIN64-KNL-NEXT: vmovaps %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
200 ; WIN64-KNL-NEXT: vmovaps %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
201 ; WIN64-KNL-NEXT: vmovaps %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
202 ; WIN64-KNL-NEXT: vmovaps %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
203 ; WIN64-KNL-NEXT: vmovaps %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
204 ; WIN64-KNL-NEXT: vmovaps %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
205 ; WIN64-KNL-NEXT: vmovaps %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
206 ; WIN64-KNL-NEXT: vmovaps %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
207 ; WIN64-KNL-NEXT: vmovaps %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
208 ; WIN64-KNL-NEXT: vmovaps %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
209 ; WIN64-KNL-NEXT: andq $-64, %rsp
210 ; WIN64-KNL-NEXT: vmovaps %zmm1, {{[0-9]+}}(%rsp)
211 ; WIN64-KNL-NEXT: vmovaps %zmm0, {{[0-9]+}}(%rsp)
212 ; WIN64-KNL-NEXT: leaq {{[0-9]+}}(%rsp), %rcx
213 ; WIN64-KNL-NEXT: leaq {{[0-9]+}}(%rsp), %rdx
214 ; WIN64-KNL-NEXT: callq func_float16
215 ; WIN64-KNL-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload
216 ; WIN64-KNL-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload
217 ; WIN64-KNL-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
218 ; WIN64-KNL-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload
219 ; WIN64-KNL-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload
220 ; WIN64-KNL-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload
221 ; WIN64-KNL-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm12 # 64-byte Reload
222 ; WIN64-KNL-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm13 # 64-byte Reload
223 ; WIN64-KNL-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload
224 ; WIN64-KNL-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload
225 ; WIN64-KNL-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm16 # 64-byte Reload
226 ; WIN64-KNL-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload
227 ; WIN64-KNL-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload
228 ; WIN64-KNL-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm19 # 64-byte Reload
229 ; WIN64-KNL-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload
230 ; WIN64-KNL-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm21 # 64-byte Reload
231 ; WIN64-KNL-NEXT: kmovw {{[-0-9]+}}(%r{{[sb]}}p), %k4 # 2-byte Reload
232 ; WIN64-KNL-NEXT: kmovw {{[-0-9]+}}(%r{{[sb]}}p), %k5 # 2-byte Reload
233 ; WIN64-KNL-NEXT: kmovw {{[-0-9]+}}(%r{{[sb]}}p), %k6 # 2-byte Reload
234 ; WIN64-KNL-NEXT: kmovw {{[-0-9]+}}(%r{{[sb]}}p), %k7 # 2-byte Reload
235 ; WIN64-KNL-NEXT: leaq 1136(%rbp), %rsp
236 ; WIN64-KNL-NEXT: popq %rbp
237 ; WIN64-KNL-NEXT: retq
239 ; WIN64-SKX-LABEL: test_prolog_epilog:
240 ; WIN64-SKX: # %bb.0:
241 ; WIN64-SKX-NEXT: pushq %rbp
242 ; WIN64-SKX-NEXT: subq $1264, %rsp # imm = 0x4F0
243 ; WIN64-SKX-NEXT: leaq {{[0-9]+}}(%rsp), %rbp
244 ; WIN64-SKX-NEXT: kmovq %k7, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
245 ; WIN64-SKX-NEXT: kmovq %k6, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
246 ; WIN64-SKX-NEXT: kmovq %k5, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
247 ; WIN64-SKX-NEXT: kmovq %k4, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
248 ; WIN64-SKX-NEXT: vmovaps %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
249 ; WIN64-SKX-NEXT: vmovaps %zmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
250 ; WIN64-SKX-NEXT: vmovaps %zmm19, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
251 ; WIN64-SKX-NEXT: vmovaps %zmm18, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
252 ; WIN64-SKX-NEXT: vmovaps %zmm17, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
253 ; WIN64-SKX-NEXT: vmovaps %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
254 ; WIN64-SKX-NEXT: vmovaps %zmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
255 ; WIN64-SKX-NEXT: vmovaps %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
256 ; WIN64-SKX-NEXT: vmovaps %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
257 ; WIN64-SKX-NEXT: vmovaps %zmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
258 ; WIN64-SKX-NEXT: vmovaps %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
259 ; WIN64-SKX-NEXT: vmovaps %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
260 ; WIN64-SKX-NEXT: vmovaps %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
261 ; WIN64-SKX-NEXT: vmovaps %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
262 ; WIN64-SKX-NEXT: vmovaps %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
263 ; WIN64-SKX-NEXT: vmovaps %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill
264 ; WIN64-SKX-NEXT: andq $-64, %rsp
265 ; WIN64-SKX-NEXT: vmovaps %zmm1, {{[0-9]+}}(%rsp)
266 ; WIN64-SKX-NEXT: vmovaps %zmm0, {{[0-9]+}}(%rsp)
267 ; WIN64-SKX-NEXT: leaq {{[0-9]+}}(%rsp), %rcx
268 ; WIN64-SKX-NEXT: leaq {{[0-9]+}}(%rsp), %rdx
269 ; WIN64-SKX-NEXT: callq func_float16
270 ; WIN64-SKX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload
271 ; WIN64-SKX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload
272 ; WIN64-SKX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload
273 ; WIN64-SKX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload
274 ; WIN64-SKX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm10 # 64-byte Reload
275 ; WIN64-SKX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload
276 ; WIN64-SKX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm12 # 64-byte Reload
277 ; WIN64-SKX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm13 # 64-byte Reload
278 ; WIN64-SKX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm14 # 64-byte Reload
279 ; WIN64-SKX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload
280 ; WIN64-SKX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm16 # 64-byte Reload
281 ; WIN64-SKX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload
282 ; WIN64-SKX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload
283 ; WIN64-SKX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm19 # 64-byte Reload
284 ; WIN64-SKX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload
285 ; WIN64-SKX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %zmm21 # 64-byte Reload
286 ; WIN64-SKX-NEXT: kmovq {{[-0-9]+}}(%r{{[sb]}}p), %k4 # 8-byte Reload
287 ; WIN64-SKX-NEXT: kmovq {{[-0-9]+}}(%r{{[sb]}}p), %k5 # 8-byte Reload
288 ; WIN64-SKX-NEXT: kmovq {{[-0-9]+}}(%r{{[sb]}}p), %k6 # 8-byte Reload
289 ; WIN64-SKX-NEXT: kmovq {{[-0-9]+}}(%r{{[sb]}}p), %k7 # 8-byte Reload
290 ; WIN64-SKX-NEXT: leaq 1136(%rbp), %rsp
291 ; WIN64-SKX-NEXT: popq %rbp
292 ; WIN64-SKX-NEXT: retq
414 ; WIN64-KNL-LABEL: testf16_inp_mask:
415 ; WIN64-KNL: # %bb.0:
416 ; WIN64-KNL-NEXT: subq $40, %rsp
417 ; WIN64-KNL-NEXT: .seh_stackalloc 40
418 ; WIN64-KNL-NEXT: .seh_endprologue
419 ; WIN64-KNL-NEXT: # kill: def $dx killed $dx def $edx
420 ; WIN64-KNL-NEXT: vmovaps (%rcx), %zmm0
421 ; WIN64-KNL-NEXT: kmovw %edx, %k1
422 ; WIN64-KNL-NEXT: callq func_float16_mask
423 ; WIN64-KNL-NEXT: nop
424 ; WIN64-KNL-NEXT: addq $40, %rsp
425 ; WIN64-KNL-NEXT: retq
426 ; WIN64-KNL-NEXT: .seh_endproc
428 ; WIN64-SKX-LABEL: testf16_inp_mask:
429 ; WIN64-SKX: # %bb.0:
430 ; WIN64-SKX-NEXT: subq $40, %rsp
431 ; WIN64-SKX-NEXT: .seh_stackalloc 40
432 ; WIN64-SKX-NEXT: .seh_endprologue
433 ; WIN64-SKX-NEXT: # kill: def $dx killed $dx def $edx
434 ; WIN64-SKX-NEXT: vmovaps (%rcx), %zmm0
435 ; WIN64-SKX-NEXT: kmovd %edx, %k1
436 ; WIN64-SKX-NEXT: callq func_float16_mask
437 ; WIN64-SKX-NEXT: nop
438 ; WIN64-SKX-NEXT: addq $40, %rsp
439 ; WIN64-SKX-NEXT: retq
440 ; WIN64-SKX-NEXT: .seh_endproc
499 ; WIN64-LABEL: test_prolog_epilog_with_mask:
500 ; WIN64: # %bb.0:
501 ; WIN64-NEXT: subq $40, %rsp
502 ; WIN64-NEXT: vpcmpeqd %zmm2, %zmm1, %k0
503 ; WIN64-NEXT: kxorw %k1, %k0, %k1
504 ; WIN64-NEXT: callq func_float16_mask
505 ; WIN64-NEXT: addq $40, %rsp
506 ; WIN64-NEXT: retq