Tanya Lattner | 33eefff | 2008-02-21 07:42:26 +0000 | [diff] [blame] | 1 | ; RUN: llvm-as < %s | llc -march=x86 | not grep set |
Evan Cheng | a80ea03 | 2006-01-30 23:39:40 +0000 | [diff] [blame] | 2 | |
Tanya Lattner | 33eefff | 2008-02-21 07:42:26 +0000 | [diff] [blame] | 3 | declare i1 @llvm.isunordered.f32(float, float) |
Evan Cheng | a80ea03 | 2006-01-30 23:39:40 +0000 | [diff] [blame] | 4 | |
Dale Johannesen | 1d3863f | 2008-03-31 23:20:09 +0000 | [diff] [blame^] | 5 | define float @cmp(float %A, float %B, float %C, float %D) nounwind { |
Evan Cheng | a80ea03 | 2006-01-30 23:39:40 +0000 | [diff] [blame] | 6 | entry: |
Tanya Lattner | 33eefff | 2008-02-21 07:42:26 +0000 | [diff] [blame] | 7 | %tmp.1 = fcmp uno float %A, %B ; <i1> [#uses=1] |
| 8 | %tmp.2 = fcmp oge float %A, %B ; <i1> [#uses=1] |
| 9 | %tmp.3 = or i1 %tmp.1, %tmp.2 ; <i1> [#uses=1] |
| 10 | %tmp.4 = select i1 %tmp.3, float %C, float %D ; <float> [#uses=1] |
| 11 | ret float %tmp.4 |
Evan Cheng | a80ea03 | 2006-01-30 23:39:40 +0000 | [diff] [blame] | 12 | } |
Tanya Lattner | 33eefff | 2008-02-21 07:42:26 +0000 | [diff] [blame] | 13 | |