blob: 68f892fa9934efa2afcbead04558ff2da6cb852b [file] [log] [blame]
Chris Lattner597f22f2005-04-02 05:35:00 +00001; Make sure this testcase codegens to the fabs instruction, not a call to fabsf
Chris Lattnerc22158d2006-05-24 00:49:32 +00002; RUN: llvm-as < %s | llc -march=x86 -mattr=-sse2,-sse3 | grep 'fabs$' | wc -l | grep 1 &&
3; RUN: llvm-as < %s | llc -march=x86 -mattr=-sse2,-sse3 -enable-unsafe-fp-math | grep 'fabs$' | wc -l | grep 2
Chris Lattner597f22f2005-04-02 05:35:00 +00004
Evan Chengbb0a23a2006-08-29 22:01:39 +00005target endian = little
6target pointersize = 32
7
Chris Lattner597f22f2005-04-02 05:35:00 +00008declare float %fabsf(float)
9
10float %fabsftest(float %X) {
11 %Y = call float %fabsf(float %X)
12 ret float %Y
13}
14
Chris Lattner2e6027c2005-04-09 04:55:14 +000015double %fabstest2(double %X) {
16 %Y = setge double %X, -0.0
17 %Z = sub double -0.0, %X
18 %Q = select bool %Y, double %X, double %Z
19 ret double %Q
20}
21