1; RUN: llc < %s -march=arm -mcpu=cortex-a8 | FileCheck %s 2 3define float @fmin_ole(float %x) nounwind { 4;CHECK: fmin_ole: 5;CHECK: vmin.f32 6 %cond = fcmp ole float 1.0, %x 7 %min1 = select i1 %cond, float 1.0, float %x 8 ret float %min1 9} 10 11define float @fmin_ole_zero(float %x) nounwind { 12;CHECK: fmin_ole_zero: 13;CHECK-NOT: vmin.f32 14 %cond = fcmp ole float 0.0, %x 15 %min1 = select i1 %cond, float 0.0, float %x 16 ret float %min1 17} 18 19define float @fmin_ult(float %x) nounwind { 20;CHECK: fmin_ult: 21;CHECK: vmin.f32 22 %cond = fcmp ult float %x, 1.0 23 %min1 = select i1 %cond, float %x, float 1.0 24 ret float %min1 25} 26 27define float @fmax_ogt(float %x) nounwind { 28;CHECK: fmax_ogt: 29;CHECK: vmax.f32 30 %cond = fcmp ogt float 1.0, %x 31 %max1 = select i1 %cond, float 1.0, float %x 32 ret float %max1 33} 34 35define float @fmax_uge(float %x) nounwind { 36;CHECK: fmax_uge: 37;CHECK: vmax.f32 38 %cond = fcmp uge float %x, 1.0 39 %max1 = select i1 %cond, float %x, float 1.0 40 ret float %max1 41} 42 43define float @fmax_uge_zero(float %x) nounwind { 44;CHECK: fmax_uge_zero: 45;CHECK-NOT: vmax.f32 46 %cond = fcmp uge float %x, 0.0 47 %max1 = select i1 %cond, float %x, float 0.0 48 ret float %max1 49} 50 51define float @fmax_olt_reverse(float %x) nounwind { 52;CHECK: fmax_olt_reverse: 53;CHECK: vmax.f32 54 %cond = fcmp olt float %x, 1.0 55 %max1 = select i1 %cond, float 1.0, float %x 56 ret float %max1 57} 58 59define float @fmax_ule_reverse(float %x) nounwind { 60;CHECK: fmax_ule_reverse: 61;CHECK: vmax.f32 62 %cond = fcmp ult float 1.0, %x 63 %max1 = select i1 %cond, float %x, float 1.0 64 ret float %max1 65} 66 67define float @fmin_oge_reverse(float %x) nounwind { 68;CHECK: fmin_oge_reverse: 69;CHECK: vmin.f32 70 %cond = fcmp oge float %x, 1.0 71 %min1 = select i1 %cond, float 1.0, float %x 72 ret float %min1 73} 74 75define float @fmin_ugt_reverse(float %x) nounwind { 76;CHECK: fmin_ugt_reverse: 77;CHECK: vmin.f32 78 %cond = fcmp ugt float 1.0, %x 79 %min1 = select i1 %cond, float %x, float 1.0 80 ret float %min1 81} 82