blob: 61f59b44988fada34b33aeb36566ae8daadcb4c5 [file] [log] [blame]
Owen Andersoncc61f872012-08-30 23:35:16 +00001; RUN: llc -march=x86-64 -mtriple=x86_64-apple-darwin -enable-unsafe-fp-math < %s | FileCheck %s
2
3; CHECK: test1
4define float @test1(float %a) {
5; CHECK-NOT: vaddss
6; CHECK: vmulss
7; CHECK-NOT: vaddss
8; CHECK: ret
9 %t1 = fadd float %a, %a
10 %r = fadd float %t1, %t1
11 ret float %r
12}
13
14; CHECK: test2
15define float @test2(float %a) {
16; CHECK-NOT: vaddss
17; CHECK: vmulss
18; CHECK-NOT: vaddss
19; CHECK: ret
20 %t1 = fmul float 4.0, %a
21 %t2 = fadd float %a, %a
22 %r = fadd float %t1, %t2
23 ret float %r
24}
25
26; CHECK: test3
27define float @test3(float %a) {
28; CHECK-NOT: vaddss
29; CHECK: vxorps
30; CHECK-NOT: vaddss
31; CHECK: ret
32 %t1 = fmul float 2.0, %a
33 %t2 = fadd float %a, %a
34 %r = fsub float %t1, %t2
35 ret float %r
36}
37