Stuart Hastings | 865f093 | 2011-06-03 23:53:54 +0000 | [diff] [blame^] | 1 | ; RUN: llc < %s -march=x86 -mattr=+sse2 | FileCheck %s |
Evan Cheng | 7f04268 | 2008-10-15 02:05:31 +0000 | [diff] [blame] | 2 | |
| 3 | define zeroext i8 @t(double %x) nounwind readnone { |
| 4 | entry: |
| 5 | %0 = fptosi double %x to i32 ; <i32> [#uses=1] |
| 6 | %1 = sitofp i32 %0 to double ; <double> [#uses=1] |
| 7 | %2 = fcmp oeq double %1, %x ; <i1> [#uses=1] |
| 8 | %retval12 = zext i1 %2 to i8 ; <i8> [#uses=1] |
Stuart Hastings | 865f093 | 2011-06-03 23:53:54 +0000 | [diff] [blame^] | 9 | ; CHECK: cmpeqsd |
| 10 | ret i8 %retval12 |
| 11 | } |
| 12 | |
| 13 | define zeroext i8 @u(double %x) nounwind readnone { |
| 14 | entry: |
| 15 | %0 = fptosi double %x to i32 ; <i32> [#uses=1] |
| 16 | %1 = sitofp i32 %0 to double ; <double> [#uses=1] |
| 17 | %2 = fcmp une double %1, %x ; <i1> [#uses=1] |
| 18 | %retval12 = zext i1 %2 to i8 ; <i8> [#uses=1] |
| 19 | ; CHECK: cmpneqsd |
Evan Cheng | 7f04268 | 2008-10-15 02:05:31 +0000 | [diff] [blame] | 20 | ret i8 %retval12 |
| 21 | } |