Home | History | Annotate | Download | only in ARM
      1 ; RUN: llc < %s -march=arm -mattr=+vfp2 | FileCheck %s
      2 
      3 define i32 @f1(float %a) {
      4 ;CHECK: f1:
      5 ;CHECK: vcmpe.f32
      6 ;CHECK: movmi
      7 entry:
      8         %tmp = fcmp olt float %a, 1.000000e+00          ; <i1> [#uses=1]
      9         %tmp1 = zext i1 %tmp to i32              ; <i32> [#uses=1]
     10         ret i32 %tmp1
     11 }
     12 
     13 define i32 @f2(float %a) {
     14 ;CHECK: f2:
     15 ;CHECK: vcmpe.f32
     16 ;CHECK: moveq
     17 entry:
     18         %tmp = fcmp oeq float %a, 1.000000e+00          ; <i1> [#uses=1]
     19         %tmp2 = zext i1 %tmp to i32              ; <i32> [#uses=1]
     20         ret i32 %tmp2
     21 }
     22 
     23 define i32 @f3(float %a) {
     24 ;CHECK: f3:
     25 ;CHECK: vcmpe.f32
     26 ;CHECK: movgt
     27 entry:
     28         %tmp = fcmp ogt float %a, 1.000000e+00          ; <i1> [#uses=1]
     29         %tmp3 = zext i1 %tmp to i32              ; <i32> [#uses=1]
     30         ret i32 %tmp3
     31 }
     32 
     33 define i32 @f4(float %a) {
     34 ;CHECK: f4:
     35 ;CHECK: vcmpe.f32
     36 ;CHECK: movge
     37 entry:
     38         %tmp = fcmp oge float %a, 1.000000e+00          ; <i1> [#uses=1]
     39         %tmp4 = zext i1 %tmp to i32              ; <i32> [#uses=1]
     40         ret i32 %tmp4
     41 }
     42 
     43 define i32 @f5(float %a) {
     44 ;CHECK: f5:
     45 ;CHECK: vcmpe.f32
     46 ;CHECK: movls
     47 entry:
     48         %tmp = fcmp ole float %a, 1.000000e+00          ; <i1> [#uses=1]
     49         %tmp5 = zext i1 %tmp to i32              ; <i32> [#uses=1]
     50         ret i32 %tmp5
     51 }
     52 
     53 define i32 @f6(float %a) {
     54 ;CHECK: f6:
     55 ;CHECK: vcmpe.f32
     56 ;CHECK: movne
     57 entry:
     58         %tmp = fcmp une float %a, 1.000000e+00          ; <i1> [#uses=1]
     59         %tmp6 = zext i1 %tmp to i32              ; <i32> [#uses=1]
     60         ret i32 %tmp6
     61 }
     62 
     63 define i32 @g1(double %a) {
     64 ;CHECK: g1:
     65 ;CHECK: vcmpe.f64
     66 ;CHECK: movmi
     67 entry:
     68         %tmp = fcmp olt double %a, 1.000000e+00         ; <i1> [#uses=1]
     69         %tmp7 = zext i1 %tmp to i32              ; <i32> [#uses=1]
     70         ret i32 %tmp7
     71 }
     72