Lines Matching refs:F16C
7 ; RUN: | FileCheck %s -check-prefixes=CHECK,BWON,BWON-F16C
80 ; BWON-F16C-LABEL: test_extend32:
81 ; BWON-F16C: # %bb.0:
82 ; BWON-F16C-NEXT: movzwl (%rdi), %eax
83 ; BWON-F16C-NEXT: vmovd %eax, %xmm0
84 ; BWON-F16C-NEXT: vcvtph2ps %xmm0, %xmm0
85 ; BWON-F16C-NEXT: retq
111 ; BWON-F16C-LABEL: test_extend64:
112 ; BWON-F16C: # %bb.0:
113 ; BWON-F16C-NEXT: movzwl (%rdi), %eax
114 ; BWON-F16C-NEXT: vmovd %eax, %xmm0
115 ; BWON-F16C-NEXT: vcvtph2ps %xmm0, %xmm0
116 ; BWON-F16C-NEXT: vcvtss2sd %xmm0, %xmm0, %xmm0
117 ; BWON-F16C-NEXT: retq
143 ; BWON-F16C-LABEL: test_trunc32:
144 ; BWON-F16C: # %bb.0:
145 ; BWON-F16C-NEXT: vcvtps2ph $4, %xmm0, %xmm0
146 ; BWON-F16C-NEXT: vpextrw $0, %xmm0, (%rdi)
147 ; BWON-F16C-NEXT: retq
203 ; BWON-F16C-LABEL: test_fptosi_i64:
204 ; BWON-F16C: # %bb.0:
205 ; BWON-F16C-NEXT: movzwl (%rdi), %eax
206 ; BWON-F16C-NEXT: vmovd %eax, %xmm0
207 ; BWON-F16C-NEXT: vcvtph2ps %xmm0, %xmm0
208 ; BWON-F16C-NEXT: vcvttss2si %xmm0, %rax
209 ; BWON-F16C-NEXT: retq
238 ; BWON-F16C-LABEL: test_sitofp_i64:
239 ; BWON-F16C: # %bb.0:
240 ; BWON-F16C-NEXT: vcvtsi2ss %rdi, %xmm0, %xmm0
241 ; BWON-F16C-NEXT: vcvtps2ph $4, %xmm0, %xmm0
242 ; BWON-F16C-NEXT: vpextrw $0, %xmm0, (%rsi)
243 ; BWON-F16C-NEXT: retq
284 ; BWON-F16C-LABEL: test_fptoui_i64:
285 ; BWON-F16C: # %bb.0:
286 ; BWON-F16C-NEXT: movzwl (%rdi), %eax
287 ; BWON-F16C-NEXT: vmovd %eax, %xmm0
288 ; BWON-F16C-NEXT: vcvtph2ps %xmm0, %xmm0
289 ; BWON-F16C-NEXT: vmovss {{.*#+}} xmm1 = mem[0],zero,zero,zero
290 ; BWON-F16C-NEXT: vsubss %xmm1, %xmm0, %xmm2
291 ; BWON-F16C-NEXT: vcvttss2si %xmm2, %rax
292 ; BWON-F16C-NEXT: movabsq $-9223372036854775808, %rcx # imm = 0x8000000000000000
293 ; BWON-F16C-NEXT: xorq %rax, %rcx
294 ; BWON-F16C-NEXT: vcvttss2si %xmm0, %rax
295 ; BWON-F16C-NEXT: vucomiss %xmm1, %xmm0
296 ; BWON-F16C-NEXT: cmovaeq %rcx, %rax
297 ; BWON-F16C-NEXT: retq
338 ; BWON-F16C-LABEL: test_uitofp_i64:
339 ; BWON-F16C: # %bb.0:
340 ; BWON-F16C-NEXT: testq %rdi, %rdi
341 ; BWON-F16C-NEXT: js .LBB10_1
342 ; BWON-F16C-NEXT: # %bb.2:
343 ; BWON-F16C-NEXT: vcvtsi2ss %rdi, %xmm0, %xmm0
344 ; BWON-F16C-NEXT: jmp .LBB10_3
345 ; BWON-F16C-NEXT: .LBB10_1:
346 ; BWON-F16C-NEXT: movq %rdi, %rax
347 ; BWON-F16C-NEXT: shrq %rax
348 ; BWON-F16C-NEXT: andl $1, %edi
349 ; BWON-F16C-NEXT: orq %rax, %rdi
350 ; BWON-F16C-NEXT: vcvtsi2ss %rdi, %xmm0, %xmm0
351 ; BWON-F16C-NEXT: vaddss %xmm0, %xmm0, %xmm0
352 ; BWON-F16C-NEXT: .LBB10_3:
353 ; BWON-F16C-NEXT: vcvtps2ph $4, %xmm0, %xmm0
354 ; BWON-F16C-NEXT: vpextrw $0, %xmm0, (%rsi)
355 ; BWON-F16C-NEXT: retq
414 ; BWON-F16C-LABEL: test_extend32_vec4:
415 ; BWON-F16C: # %bb.0:
416 ; BWON-F16C-NEXT: vcvtph2ps (%rdi), %xmm0
417 ; BWON-F16C-NEXT: retq
504 ; BWON-F16C-LABEL: test_extend64_vec4:
505 ; BWON-F16C: # %bb.0:
506 ; BWON-F16C-NEXT: vcvtph2ps (%rdi), %xmm0
507 ; BWON-F16C-NEXT: vcvtps2pd %xmm0, %ymm0
508 ; BWON-F16C-NEXT: retq
618 ; BWON-F16C-LABEL: test_trunc32_vec4:
619 ; BWON-F16C: # %bb.0:
620 ; BWON-F16C-NEXT: vcvtps2ph $4, %xmm0, (%rdi)
621 ; BWON-F16C-NEXT: retq
732 ; BWON-F16C-LABEL: test_trunc64_vec4:
733 ; BWON-F16C: # %bb.0:
734 ; BWON-F16C-NEXT: pushq %rbp
735 ; BWON-F16C-NEXT: pushq %r15
736 ; BWON-F16C-NEXT: pushq %r14
737 ; BWON-F16C-NEXT: pushq %rbx
738 ; BWON-F16C-NEXT: subq $88, %rsp
739 ; BWON-F16C-NEXT: movq %rdi, %rbx
740 ; BWON-F16C-NEXT: vmovupd %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill
741 ; BWON-F16C-NEXT: vpermilpd {{.*#+}} xmm0 = xmm0[1,0]
742 ; BWON-F16C-NEXT: vzeroupper
743 ; BWON-F16C-NEXT: callq __truncdfhf2
744 ; BWON-F16C-NEXT: movl %eax, %r14d
745 ; BWON-F16C-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
746 ; BWON-F16C-NEXT: vextractf128 $1, %ymm0, %xmm0
747 ; BWON-F16C-NEXT: vmovapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
748 ; BWON-F16C-NEXT: vpermilpd {{.*#+}} xmm0 = xmm0[1,0]
749 ; BWON-F16C-NEXT: vzeroupper
750 ; BWON-F16C-NEXT: callq __truncdfhf2
751 ; BWON-F16C-NEXT: movl %eax, %r15d
752 ; BWON-F16C-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload
753 ; BWON-F16C-NEXT: # kill: def $xmm0 killed $xmm0 killed $ymm0
754 ; BWON-F16C-NEXT: vzeroupper
755 ; BWON-F16C-NEXT: callq __truncdfhf2
756 ; BWON-F16C-NEXT: movl %eax, %ebp
757 ; BWON-F16C-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload
758 ; BWON-F16C-NEXT: callq __truncdfhf2
759 ; BWON-F16C-NEXT: movw %ax, 4(%rbx)
760 ; BWON-F16C-NEXT: movw %bp, (%rbx)
761 ; BWON-F16C-NEXT: movw %r15w, 6(%rbx)
762 ; BWON-F16C-NEXT: movw %r14w, 2(%rbx)
763 ; BWON-F16C-NEXT: addq $88, %rsp
764 ; BWON-F16C-NEXT: popq %rbx
765 ; BWON-F16C-NEXT: popq %r14
766 ; BWON-F16C-NEXT: popq %r15
767 ; BWON-F16C-NEXT: popq %rbp
768 ; BWON-F16C-NEXT: retq
823 ; BWON-F16C-LABEL: test_f80trunc_nodagcombine:
824 ; BWON-F16C: # %bb.0:
825 ; BWON-F16C-NEXT: pushq %rax
826 ; BWON-F16C-NEXT: callq test_floatret
827 ; BWON-F16C-NEXT: vcvtps2ph $4, %xmm0, %xmm0
828 ; BWON-F16C-NEXT: vmovd %xmm0, %eax
829 ; BWON-F16C-NEXT: # kill: def $ax killed $ax killed $eax
830 ; BWON-F16C-NEXT: popq %rcx
831 ; BWON-F16C-NEXT: retq
869 ; BWON-F16C-LABEL: test_sitofp_fadd_i32:
870 ; BWON-F16C: # %bb.0:
871 ; BWON-F16C-NEXT: movzwl (%rsi), %eax
872 ; BWON-F16C-NEXT: vcvtsi2ss %edi, %xmm0, %xmm0
873 ; BWON-F16C-NEXT: vcvtps2ph $4, %xmm0, %xmm0
874 ; BWON-F16C-NEXT: vcvtph2ps %xmm0, %xmm0
875 ; BWON-F16C-NEXT: vmovd %eax, %xmm1
876 ; BWON-F16C-NEXT: vcvtph2ps %xmm1, %xmm1
877 ; BWON-F16C-NEXT: vaddss %xmm0, %xmm1, %xmm0
878 ; BWON-F16C-NEXT: vcvtps2ph $4, %xmm0, %xmm0
879 ; BWON-F16C-NEXT: vcvtph2ps %xmm0, %xmm0
880 ; BWON-F16C-NEXT: retq
934 ; BWON-F16C-LABEL: PR40273:
935 ; BWON-F16C: # %bb.0:
936 ; BWON-F16C-NEXT: movzwl %di, %eax
937 ; BWON-F16C-NEXT: vmovd %eax, %xmm0
938 ; BWON-F16C-NEXT: vcvtph2ps %xmm0, %xmm0
939 ; BWON-F16C-NEXT: xorl %eax, %eax
940 ; BWON-F16C-NEXT: vxorps %xmm1, %xmm1, %xmm1
941 ; BWON-F16C-NEXT: vucomiss %xmm1, %xmm0
942 ; BWON-F16C-NEXT: movl $15360, %ecx # imm = 0x3C00
943 ; BWON-F16C-NEXT: cmovnel %ecx, %eax
944 ; BWON-F16C-NEXT: cmovpl %ecx, %eax
945 ; BWON-F16C-NEXT: # kill: def $ax killed $ax killed $eax
946 ; BWON-F16C-NEXT: retq