166760279SAlex Bradbury; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2 232597685SJianjian Guan; RUN: llc -mtriple=riscv32 -mattr=+zfbfmin -verify-machineinstrs \ 366760279SAlex Bradbury; RUN: -target-abi ilp32f < %s | FileCheck %s 432597685SJianjian Guan; RUN: llc -mtriple=riscv64 -mattr=+zfbfmin -verify-machineinstrs \ 566760279SAlex Bradbury; RUN: -target-abi lp64f < %s | FileCheck %s 666760279SAlex Bradbury 766760279SAlex Bradburydefine bfloat @select_fcmp_false(bfloat %a, bfloat %b) nounwind { 866760279SAlex Bradbury; CHECK-LABEL: select_fcmp_false: 966760279SAlex Bradbury; CHECK: # %bb.0: 1066760279SAlex Bradbury; CHECK-NEXT: fmv.s fa0, fa1 1166760279SAlex Bradbury; CHECK-NEXT: ret 1266760279SAlex Bradbury %1 = fcmp false bfloat %a, %b 1366760279SAlex Bradbury %2 = select i1 %1, bfloat %a, bfloat %b 1466760279SAlex Bradbury ret bfloat %2 1566760279SAlex Bradbury} 1666760279SAlex Bradbury 1766760279SAlex Bradburydefine bfloat @select_fcmp_oeq(bfloat %a, bfloat %b) nounwind { 1866760279SAlex Bradbury; CHECK-LABEL: select_fcmp_oeq: 1966760279SAlex Bradbury; CHECK: # %bb.0: 20*1c874bbbSCraig Topper; CHECK-NEXT: fcvt.s.bf16 fa5, fa1 21*1c874bbbSCraig Topper; CHECK-NEXT: fcvt.s.bf16 fa4, fa0 22*1c874bbbSCraig Topper; CHECK-NEXT: feq.s a0, fa4, fa5 2366760279SAlex Bradbury; CHECK-NEXT: bnez a0, .LBB1_2 2466760279SAlex Bradbury; CHECK-NEXT: # %bb.1: 25*1c874bbbSCraig Topper; CHECK-NEXT: fmv.s fa0, fa1 2666760279SAlex Bradbury; CHECK-NEXT: .LBB1_2: 2766760279SAlex Bradbury; CHECK-NEXT: ret 2866760279SAlex Bradbury %1 = fcmp oeq bfloat %a, %b 2966760279SAlex Bradbury %2 = select i1 %1, bfloat %a, bfloat %b 3066760279SAlex Bradbury ret bfloat %2 3166760279SAlex Bradbury} 3266760279SAlex Bradbury 3366760279SAlex Bradburydefine bfloat @select_fcmp_ogt(bfloat %a, bfloat %b) nounwind { 3466760279SAlex Bradbury; CHECK-LABEL: select_fcmp_ogt: 3566760279SAlex Bradbury; CHECK: # %bb.0: 3666760279SAlex Bradbury; CHECK-NEXT: fcvt.s.bf16 fa5, fa0 3766760279SAlex Bradbury; CHECK-NEXT: fcvt.s.bf16 fa4, fa1 3866760279SAlex Bradbury; CHECK-NEXT: flt.s a0, fa4, fa5 3966760279SAlex Bradbury; CHECK-NEXT: bnez a0, .LBB2_2 4066760279SAlex Bradbury; CHECK-NEXT: # %bb.1: 41*1c874bbbSCraig Topper; CHECK-NEXT: fmv.s fa0, fa1 4266760279SAlex Bradbury; CHECK-NEXT: .LBB2_2: 4366760279SAlex Bradbury; CHECK-NEXT: ret 4466760279SAlex Bradbury %1 = fcmp ogt bfloat %a, %b 4566760279SAlex Bradbury %2 = select i1 %1, bfloat %a, bfloat %b 4666760279SAlex Bradbury ret bfloat %2 4766760279SAlex Bradbury} 4866760279SAlex Bradbury 4966760279SAlex Bradburydefine bfloat @select_fcmp_oge(bfloat %a, bfloat %b) nounwind { 5066760279SAlex Bradbury; CHECK-LABEL: select_fcmp_oge: 5166760279SAlex Bradbury; CHECK: # %bb.0: 5266760279SAlex Bradbury; CHECK-NEXT: fcvt.s.bf16 fa5, fa0 5366760279SAlex Bradbury; CHECK-NEXT: fcvt.s.bf16 fa4, fa1 5466760279SAlex Bradbury; CHECK-NEXT: fle.s a0, fa4, fa5 5566760279SAlex Bradbury; CHECK-NEXT: bnez a0, .LBB3_2 5666760279SAlex Bradbury; CHECK-NEXT: # %bb.1: 57*1c874bbbSCraig Topper; CHECK-NEXT: fmv.s fa0, fa1 5866760279SAlex Bradbury; CHECK-NEXT: .LBB3_2: 5966760279SAlex Bradbury; CHECK-NEXT: ret 6066760279SAlex Bradbury %1 = fcmp oge bfloat %a, %b 6166760279SAlex Bradbury %2 = select i1 %1, bfloat %a, bfloat %b 6266760279SAlex Bradbury ret bfloat %2 6366760279SAlex Bradbury} 6466760279SAlex Bradbury 6566760279SAlex Bradburydefine bfloat @select_fcmp_olt(bfloat %a, bfloat %b) nounwind { 6666760279SAlex Bradbury; CHECK-LABEL: select_fcmp_olt: 6766760279SAlex Bradbury; CHECK: # %bb.0: 68*1c874bbbSCraig Topper; CHECK-NEXT: fcvt.s.bf16 fa5, fa1 69*1c874bbbSCraig Topper; CHECK-NEXT: fcvt.s.bf16 fa4, fa0 70*1c874bbbSCraig Topper; CHECK-NEXT: flt.s a0, fa4, fa5 7166760279SAlex Bradbury; CHECK-NEXT: bnez a0, .LBB4_2 7266760279SAlex Bradbury; CHECK-NEXT: # %bb.1: 73*1c874bbbSCraig Topper; CHECK-NEXT: fmv.s fa0, fa1 7466760279SAlex Bradbury; CHECK-NEXT: .LBB4_2: 7566760279SAlex Bradbury; CHECK-NEXT: ret 7666760279SAlex Bradbury %1 = fcmp olt bfloat %a, %b 7766760279SAlex Bradbury %2 = select i1 %1, bfloat %a, bfloat %b 7866760279SAlex Bradbury ret bfloat %2 7966760279SAlex Bradbury} 8066760279SAlex Bradbury 8166760279SAlex Bradburydefine bfloat @select_fcmp_ole(bfloat %a, bfloat %b) nounwind { 8266760279SAlex Bradbury; CHECK-LABEL: select_fcmp_ole: 8366760279SAlex Bradbury; CHECK: # %bb.0: 84*1c874bbbSCraig Topper; CHECK-NEXT: fcvt.s.bf16 fa5, fa1 85*1c874bbbSCraig Topper; CHECK-NEXT: fcvt.s.bf16 fa4, fa0 86*1c874bbbSCraig Topper; CHECK-NEXT: fle.s a0, fa4, fa5 8766760279SAlex Bradbury; CHECK-NEXT: bnez a0, .LBB5_2 8866760279SAlex Bradbury; CHECK-NEXT: # %bb.1: 89*1c874bbbSCraig Topper; CHECK-NEXT: fmv.s fa0, fa1 9066760279SAlex Bradbury; CHECK-NEXT: .LBB5_2: 9166760279SAlex Bradbury; CHECK-NEXT: ret 9266760279SAlex Bradbury %1 = fcmp ole bfloat %a, %b 9366760279SAlex Bradbury %2 = select i1 %1, bfloat %a, bfloat %b 9466760279SAlex Bradbury ret bfloat %2 9566760279SAlex Bradbury} 9666760279SAlex Bradbury 9766760279SAlex Bradburydefine bfloat @select_fcmp_one(bfloat %a, bfloat %b) nounwind { 9866760279SAlex Bradbury; CHECK-LABEL: select_fcmp_one: 9966760279SAlex Bradbury; CHECK: # %bb.0: 100*1c874bbbSCraig Topper; CHECK-NEXT: fcvt.s.bf16 fa5, fa1 101*1c874bbbSCraig Topper; CHECK-NEXT: fcvt.s.bf16 fa4, fa0 102*1c874bbbSCraig Topper; CHECK-NEXT: flt.s a0, fa4, fa5 103*1c874bbbSCraig Topper; CHECK-NEXT: flt.s a1, fa5, fa4 10466760279SAlex Bradbury; CHECK-NEXT: or a0, a1, a0 10566760279SAlex Bradbury; CHECK-NEXT: bnez a0, .LBB6_2 10666760279SAlex Bradbury; CHECK-NEXT: # %bb.1: 107*1c874bbbSCraig Topper; CHECK-NEXT: fmv.s fa0, fa1 10866760279SAlex Bradbury; CHECK-NEXT: .LBB6_2: 10966760279SAlex Bradbury; CHECK-NEXT: ret 11066760279SAlex Bradbury %1 = fcmp one bfloat %a, %b 11166760279SAlex Bradbury %2 = select i1 %1, bfloat %a, bfloat %b 11266760279SAlex Bradbury ret bfloat %2 11366760279SAlex Bradbury} 11466760279SAlex Bradbury 11566760279SAlex Bradburydefine bfloat @select_fcmp_ord(bfloat %a, bfloat %b) nounwind { 11666760279SAlex Bradbury; CHECK-LABEL: select_fcmp_ord: 11766760279SAlex Bradbury; CHECK: # %bb.0: 11866760279SAlex Bradbury; CHECK-NEXT: fcvt.s.bf16 fa5, fa1 11966760279SAlex Bradbury; CHECK-NEXT: feq.s a0, fa5, fa5 120*1c874bbbSCraig Topper; CHECK-NEXT: fcvt.s.bf16 fa5, fa0 121*1c874bbbSCraig Topper; CHECK-NEXT: feq.s a1, fa5, fa5 12266760279SAlex Bradbury; CHECK-NEXT: and a0, a1, a0 12366760279SAlex Bradbury; CHECK-NEXT: bnez a0, .LBB7_2 12466760279SAlex Bradbury; CHECK-NEXT: # %bb.1: 125*1c874bbbSCraig Topper; CHECK-NEXT: fmv.s fa0, fa1 12666760279SAlex Bradbury; CHECK-NEXT: .LBB7_2: 12766760279SAlex Bradbury; CHECK-NEXT: ret 12866760279SAlex Bradbury %1 = fcmp ord bfloat %a, %b 12966760279SAlex Bradbury %2 = select i1 %1, bfloat %a, bfloat %b 13066760279SAlex Bradbury ret bfloat %2 13166760279SAlex Bradbury} 13266760279SAlex Bradbury 13366760279SAlex Bradburydefine bfloat @select_fcmp_ueq(bfloat %a, bfloat %b) nounwind { 13466760279SAlex Bradbury; CHECK-LABEL: select_fcmp_ueq: 13566760279SAlex Bradbury; CHECK: # %bb.0: 136*1c874bbbSCraig Topper; CHECK-NEXT: fcvt.s.bf16 fa5, fa1 137*1c874bbbSCraig Topper; CHECK-NEXT: fcvt.s.bf16 fa4, fa0 138*1c874bbbSCraig Topper; CHECK-NEXT: flt.s a0, fa4, fa5 139*1c874bbbSCraig Topper; CHECK-NEXT: flt.s a1, fa5, fa4 14066760279SAlex Bradbury; CHECK-NEXT: or a0, a1, a0 14166760279SAlex Bradbury; CHECK-NEXT: beqz a0, .LBB8_2 14266760279SAlex Bradbury; CHECK-NEXT: # %bb.1: 143*1c874bbbSCraig Topper; CHECK-NEXT: fmv.s fa0, fa1 14466760279SAlex Bradbury; CHECK-NEXT: .LBB8_2: 14566760279SAlex Bradbury; CHECK-NEXT: ret 14666760279SAlex Bradbury %1 = fcmp ueq bfloat %a, %b 14766760279SAlex Bradbury %2 = select i1 %1, bfloat %a, bfloat %b 14866760279SAlex Bradbury ret bfloat %2 14966760279SAlex Bradbury} 15066760279SAlex Bradbury 15166760279SAlex Bradburydefine bfloat @select_fcmp_ugt(bfloat %a, bfloat %b) nounwind { 15266760279SAlex Bradbury; CHECK-LABEL: select_fcmp_ugt: 15366760279SAlex Bradbury; CHECK: # %bb.0: 154*1c874bbbSCraig Topper; CHECK-NEXT: fcvt.s.bf16 fa5, fa1 155*1c874bbbSCraig Topper; CHECK-NEXT: fcvt.s.bf16 fa4, fa0 156*1c874bbbSCraig Topper; CHECK-NEXT: fle.s a0, fa4, fa5 15766760279SAlex Bradbury; CHECK-NEXT: beqz a0, .LBB9_2 15866760279SAlex Bradbury; CHECK-NEXT: # %bb.1: 159*1c874bbbSCraig Topper; CHECK-NEXT: fmv.s fa0, fa1 16066760279SAlex Bradbury; CHECK-NEXT: .LBB9_2: 16166760279SAlex Bradbury; CHECK-NEXT: ret 16266760279SAlex Bradbury %1 = fcmp ugt bfloat %a, %b 16366760279SAlex Bradbury %2 = select i1 %1, bfloat %a, bfloat %b 16466760279SAlex Bradbury ret bfloat %2 16566760279SAlex Bradbury} 16666760279SAlex Bradbury 16766760279SAlex Bradburydefine bfloat @select_fcmp_uge(bfloat %a, bfloat %b) nounwind { 16866760279SAlex Bradbury; CHECK-LABEL: select_fcmp_uge: 16966760279SAlex Bradbury; CHECK: # %bb.0: 170*1c874bbbSCraig Topper; CHECK-NEXT: fcvt.s.bf16 fa5, fa1 171*1c874bbbSCraig Topper; CHECK-NEXT: fcvt.s.bf16 fa4, fa0 172*1c874bbbSCraig Topper; CHECK-NEXT: flt.s a0, fa4, fa5 17366760279SAlex Bradbury; CHECK-NEXT: beqz a0, .LBB10_2 17466760279SAlex Bradbury; CHECK-NEXT: # %bb.1: 175*1c874bbbSCraig Topper; CHECK-NEXT: fmv.s fa0, fa1 17666760279SAlex Bradbury; CHECK-NEXT: .LBB10_2: 17766760279SAlex Bradbury; CHECK-NEXT: ret 17866760279SAlex Bradbury %1 = fcmp uge bfloat %a, %b 17966760279SAlex Bradbury %2 = select i1 %1, bfloat %a, bfloat %b 18066760279SAlex Bradbury ret bfloat %2 18166760279SAlex Bradbury} 18266760279SAlex Bradbury 18366760279SAlex Bradburydefine bfloat @select_fcmp_ult(bfloat %a, bfloat %b) nounwind { 18466760279SAlex Bradbury; CHECK-LABEL: select_fcmp_ult: 18566760279SAlex Bradbury; CHECK: # %bb.0: 18666760279SAlex Bradbury; CHECK-NEXT: fcvt.s.bf16 fa5, fa0 18766760279SAlex Bradbury; CHECK-NEXT: fcvt.s.bf16 fa4, fa1 18866760279SAlex Bradbury; CHECK-NEXT: fle.s a0, fa4, fa5 18966760279SAlex Bradbury; CHECK-NEXT: beqz a0, .LBB11_2 19066760279SAlex Bradbury; CHECK-NEXT: # %bb.1: 191*1c874bbbSCraig Topper; CHECK-NEXT: fmv.s fa0, fa1 19266760279SAlex Bradbury; CHECK-NEXT: .LBB11_2: 19366760279SAlex Bradbury; CHECK-NEXT: ret 19466760279SAlex Bradbury %1 = fcmp ult bfloat %a, %b 19566760279SAlex Bradbury %2 = select i1 %1, bfloat %a, bfloat %b 19666760279SAlex Bradbury ret bfloat %2 19766760279SAlex Bradbury} 19866760279SAlex Bradbury 19966760279SAlex Bradburydefine bfloat @select_fcmp_ule(bfloat %a, bfloat %b) nounwind { 20066760279SAlex Bradbury; CHECK-LABEL: select_fcmp_ule: 20166760279SAlex Bradbury; CHECK: # %bb.0: 20266760279SAlex Bradbury; CHECK-NEXT: fcvt.s.bf16 fa5, fa0 20366760279SAlex Bradbury; CHECK-NEXT: fcvt.s.bf16 fa4, fa1 20466760279SAlex Bradbury; CHECK-NEXT: flt.s a0, fa4, fa5 20566760279SAlex Bradbury; CHECK-NEXT: beqz a0, .LBB12_2 20666760279SAlex Bradbury; CHECK-NEXT: # %bb.1: 207*1c874bbbSCraig Topper; CHECK-NEXT: fmv.s fa0, fa1 20866760279SAlex Bradbury; CHECK-NEXT: .LBB12_2: 20966760279SAlex Bradbury; CHECK-NEXT: ret 21066760279SAlex Bradbury %1 = fcmp ule bfloat %a, %b 21166760279SAlex Bradbury %2 = select i1 %1, bfloat %a, bfloat %b 21266760279SAlex Bradbury ret bfloat %2 21366760279SAlex Bradbury} 21466760279SAlex Bradbury 21566760279SAlex Bradburydefine bfloat @select_fcmp_une(bfloat %a, bfloat %b) nounwind { 21666760279SAlex Bradbury; CHECK-LABEL: select_fcmp_une: 21766760279SAlex Bradbury; CHECK: # %bb.0: 218*1c874bbbSCraig Topper; CHECK-NEXT: fcvt.s.bf16 fa5, fa1 219*1c874bbbSCraig Topper; CHECK-NEXT: fcvt.s.bf16 fa4, fa0 220*1c874bbbSCraig Topper; CHECK-NEXT: feq.s a0, fa4, fa5 22166760279SAlex Bradbury; CHECK-NEXT: beqz a0, .LBB13_2 22266760279SAlex Bradbury; CHECK-NEXT: # %bb.1: 223*1c874bbbSCraig Topper; CHECK-NEXT: fmv.s fa0, fa1 22466760279SAlex Bradbury; CHECK-NEXT: .LBB13_2: 22566760279SAlex Bradbury; CHECK-NEXT: ret 22666760279SAlex Bradbury %1 = fcmp une bfloat %a, %b 22766760279SAlex Bradbury %2 = select i1 %1, bfloat %a, bfloat %b 22866760279SAlex Bradbury ret bfloat %2 22966760279SAlex Bradbury} 23066760279SAlex Bradbury 23166760279SAlex Bradburydefine bfloat @select_fcmp_uno(bfloat %a, bfloat %b) nounwind { 23266760279SAlex Bradbury; CHECK-LABEL: select_fcmp_uno: 23366760279SAlex Bradbury; CHECK: # %bb.0: 23466760279SAlex Bradbury; CHECK-NEXT: fcvt.s.bf16 fa5, fa1 23566760279SAlex Bradbury; CHECK-NEXT: feq.s a0, fa5, fa5 236*1c874bbbSCraig Topper; CHECK-NEXT: fcvt.s.bf16 fa5, fa0 237*1c874bbbSCraig Topper; CHECK-NEXT: feq.s a1, fa5, fa5 23866760279SAlex Bradbury; CHECK-NEXT: and a0, a1, a0 23966760279SAlex Bradbury; CHECK-NEXT: beqz a0, .LBB14_2 24066760279SAlex Bradbury; CHECK-NEXT: # %bb.1: 241*1c874bbbSCraig Topper; CHECK-NEXT: fmv.s fa0, fa1 24266760279SAlex Bradbury; CHECK-NEXT: .LBB14_2: 24366760279SAlex Bradbury; CHECK-NEXT: ret 24466760279SAlex Bradbury %1 = fcmp uno bfloat %a, %b 24566760279SAlex Bradbury %2 = select i1 %1, bfloat %a, bfloat %b 24666760279SAlex Bradbury ret bfloat %2 24766760279SAlex Bradbury} 24866760279SAlex Bradbury 24966760279SAlex Bradburydefine bfloat @select_fcmp_true(bfloat %a, bfloat %b) nounwind { 25066760279SAlex Bradbury; CHECK-LABEL: select_fcmp_true: 25166760279SAlex Bradbury; CHECK: # %bb.0: 25266760279SAlex Bradbury; CHECK-NEXT: ret 25366760279SAlex Bradbury %1 = fcmp true bfloat %a, %b 25466760279SAlex Bradbury %2 = select i1 %1, bfloat %a, bfloat %b 25566760279SAlex Bradbury ret bfloat %2 25666760279SAlex Bradbury} 25766760279SAlex Bradbury 25866760279SAlex Bradbury; Ensure that ISel succeeds for a select+fcmp that has an i32 result type. 25966760279SAlex Bradburydefine i32 @i32_select_fcmp_oeq(bfloat %a, bfloat %b, i32 %c, i32 %d) nounwind { 26066760279SAlex Bradbury; CHECK-LABEL: i32_select_fcmp_oeq: 26166760279SAlex Bradbury; CHECK: # %bb.0: 26266760279SAlex Bradbury; CHECK-NEXT: fcvt.s.bf16 fa5, fa1 26366760279SAlex Bradbury; CHECK-NEXT: fcvt.s.bf16 fa4, fa0 26466760279SAlex Bradbury; CHECK-NEXT: feq.s a2, fa4, fa5 26566760279SAlex Bradbury; CHECK-NEXT: bnez a2, .LBB16_2 26666760279SAlex Bradbury; CHECK-NEXT: # %bb.1: 26766760279SAlex Bradbury; CHECK-NEXT: mv a0, a1 26866760279SAlex Bradbury; CHECK-NEXT: .LBB16_2: 26966760279SAlex Bradbury; CHECK-NEXT: ret 27066760279SAlex Bradbury %1 = fcmp oeq bfloat %a, %b 27166760279SAlex Bradbury %2 = select i1 %1, i32 %c, i32 %d 27266760279SAlex Bradbury ret i32 %2 27366760279SAlex Bradbury} 27466760279SAlex Bradbury 27566760279SAlex Bradburydefine i32 @select_fcmp_oeq_1_2(bfloat %a, bfloat %b) { 27666760279SAlex Bradbury; CHECK-LABEL: select_fcmp_oeq_1_2: 27766760279SAlex Bradbury; CHECK: # %bb.0: 27866760279SAlex Bradbury; CHECK-NEXT: fcvt.s.bf16 fa5, fa1 27966760279SAlex Bradbury; CHECK-NEXT: fcvt.s.bf16 fa4, fa0 28066760279SAlex Bradbury; CHECK-NEXT: feq.s a0, fa4, fa5 28166760279SAlex Bradbury; CHECK-NEXT: li a1, 2 28266760279SAlex Bradbury; CHECK-NEXT: sub a0, a1, a0 28366760279SAlex Bradbury; CHECK-NEXT: ret 28466760279SAlex Bradbury %1 = fcmp fast oeq bfloat %a, %b 28566760279SAlex Bradbury %2 = select i1 %1, i32 1, i32 2 28666760279SAlex Bradbury ret i32 %2 28766760279SAlex Bradbury} 28866760279SAlex Bradbury 28966760279SAlex Bradburydefine signext i32 @select_fcmp_uge_negone_zero(bfloat %a, bfloat %b) nounwind { 29066760279SAlex Bradbury; CHECK-LABEL: select_fcmp_uge_negone_zero: 29166760279SAlex Bradbury; CHECK: # %bb.0: 29266760279SAlex Bradbury; CHECK-NEXT: fcvt.s.bf16 fa5, fa1 29366760279SAlex Bradbury; CHECK-NEXT: fcvt.s.bf16 fa4, fa0 29466760279SAlex Bradbury; CHECK-NEXT: fle.s a0, fa4, fa5 29566760279SAlex Bradbury; CHECK-NEXT: addi a0, a0, -1 29666760279SAlex Bradbury; CHECK-NEXT: ret 29766760279SAlex Bradbury %1 = fcmp ugt bfloat %a, %b 29866760279SAlex Bradbury %2 = select i1 %1, i32 -1, i32 0 29966760279SAlex Bradbury ret i32 %2 30066760279SAlex Bradbury} 30166760279SAlex Bradbury 30266760279SAlex Bradburydefine signext i32 @select_fcmp_uge_1_2(bfloat %a, bfloat %b) nounwind { 30366760279SAlex Bradbury; CHECK-LABEL: select_fcmp_uge_1_2: 30466760279SAlex Bradbury; CHECK: # %bb.0: 30566760279SAlex Bradbury; CHECK-NEXT: fcvt.s.bf16 fa5, fa1 30666760279SAlex Bradbury; CHECK-NEXT: fcvt.s.bf16 fa4, fa0 30766760279SAlex Bradbury; CHECK-NEXT: fle.s a0, fa4, fa5 30866760279SAlex Bradbury; CHECK-NEXT: addi a0, a0, 1 30966760279SAlex Bradbury; CHECK-NEXT: ret 31066760279SAlex Bradbury %1 = fcmp ugt bfloat %a, %b 31166760279SAlex Bradbury %2 = select i1 %1, i32 1, i32 2 31266760279SAlex Bradbury ret i32 %2 31366760279SAlex Bradbury} 314