Lines Matching +full:fail +full:- +full:fast

2 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -enable-unsafe-fp-math | FileCheck %s
6 ; CHECK-LABEL: exact:
8 ; CHECK-NEXT: mulsd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
9 ; CHECK-NEXT: retq
16 ; CHECK-LABEL: inexact:
18 ; CHECK-NEXT: mulsd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
19 ; CHECK-NEXT: retq
26 ; CHECK-LABEL: funky:
28 ; CHECK-NEXT: xorpd %xmm1, %xmm1
29 ; CHECK-NEXT: divsd %xmm1, %xmm0
30 ; CHECK-NEXT: retq
37 ; CHECK-LABEL: denormal1:
39 ; CHECK-NEXT: divsd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
40 ; CHECK-NEXT: retq
47 ; CHECK-LABEL: denormal2:
49 ; CHECK-NEXT: divsd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
50 ; CHECK-NEXT: retq
55 ; Deleting the negates does not require unsafe-fp-math.
58 ; CHECK-LABEL: double_negative:
60 ; CHECK-NEXT: divss %xmm1, %xmm0
61 ; CHECK-NEXT: retq
62 %neg1 = fsub float -0.0, %x
63 %neg2 = fsub float -0.0, %y
69 ; CHECK-LABEL: double_negative_vector:
71 ; CHECK-NEXT: divps %xmm1, %xmm0
72 ; CHECK-NEXT: retq
73 %neg1 = fsub <4 x float> <float -0.0, float -0.0, float -0.0, float -0.0>, %x
74 %neg2 = fsub <4 x float> <float -0.0, float -0.0, float -0.0, float -0.0>, %y
79 ; This test used to fail, depending on how llc was built (e.g. using
84 ; CHECK-LABEL: fdiv_fneg_combine:
86 ; CHECK-NEXT: movaps %xmm0, %xmm3
87 ; CHECK-NEXT: subss %xmm1, %xmm3
88 ; CHECK-NEXT: subss %xmm0, %xmm1
89 ; CHECK-NEXT: mulss %xmm2, %xmm1
90 ; CHECK-NEXT: subss %xmm2, %xmm3
91 ; CHECK-NEXT: divss %xmm3, %xmm1
92 ; CHECK-NEXT: movaps %xmm1, %xmm0
93 ; CHECK-NEXT: retq
94 %sub1 = fsub fast float %a0, %a1
95 %mul2 = fmul fast float %sub1, %a2
96 %neg = fneg fast float %a0
97 %add3 = fadd fast float %a1, %neg
98 %sub4 = fadd fast float %add3, %a2
99 %div5 = fdiv fast float %mul2, %sub4
103 attributes #0 = { "unsafe-fp-math"="false" }