blob: 091f0de9308e8837554618378ab5a72af56d8ede [file] [log] [blame]
NAKAMURA Takumid35a4ff2012-09-01 00:26:28 +00001; RUN: llc -march=x86-64 -mattr=-fma4 -mtriple=x86_64-apple-darwin -enable-unsafe-fp-math < %s | FileCheck %s
Owen Andersoncc61f872012-08-30 23:35:16 +00002
3; CHECK: test1
4define float @test1(float %a) {
Owen Andersond1545e32012-08-30 23:51:20 +00005; CHECK-NOT: addss
6; CHECK: mulss
7; CHECK-NOT: addss
Owen Andersoncc61f872012-08-30 23:35:16 +00008; 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) {
Owen Andersond1545e32012-08-30 23:51:20 +000016; CHECK-NOT: addss
17; CHECK: mulss
18; CHECK-NOT: addss
Owen Andersoncc61f872012-08-30 23:35:16 +000019; 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) {
Owen Andersond1545e32012-08-30 23:51:20 +000028; CHECK-NOT: addss
29; CHECK: xorps
30; CHECK-NOT: addss
Owen Andersoncc61f872012-08-30 23:35:16 +000031; 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