12b6215f1SRoger Ferrer Ibanez; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 22b6215f1SRoger Ferrer Ibanez; RUN: llc -mtriple=riscv32 < %s | FileCheck --check-prefix=RV32 %s 32b6215f1SRoger Ferrer Ibanez; RUN: llc -mtriple=riscv64 < %s | FileCheck --check-prefix=RV64 %s 42b6215f1SRoger Ferrer Ibanez 5*1456b686SNikita Popovdefine void @bool_eq(i1 zeroext %a, i1 zeroext %b, ptr nocapture %c) nounwind { 62b6215f1SRoger Ferrer Ibanez; RV32-LABEL: bool_eq: 72b6215f1SRoger Ferrer Ibanez; RV32: # %bb.0: # %entry 82b6215f1SRoger Ferrer Ibanez; RV32-NEXT: beq a0, a1, .LBB0_2 92b6215f1SRoger Ferrer Ibanez; RV32-NEXT: # %bb.1: # %if.end 102b6215f1SRoger Ferrer Ibanez; RV32-NEXT: ret 112b6215f1SRoger Ferrer Ibanez; RV32-NEXT: .LBB0_2: # %if.then 122b6215f1SRoger Ferrer Ibanez; RV32-NEXT: jr a2 132b6215f1SRoger Ferrer Ibanez; 142b6215f1SRoger Ferrer Ibanez; RV64-LABEL: bool_eq: 152b6215f1SRoger Ferrer Ibanez; RV64: # %bb.0: # %entry 162b6215f1SRoger Ferrer Ibanez; RV64-NEXT: beq a0, a1, .LBB0_2 172b6215f1SRoger Ferrer Ibanez; RV64-NEXT: # %bb.1: # %if.end 182b6215f1SRoger Ferrer Ibanez; RV64-NEXT: ret 192b6215f1SRoger Ferrer Ibanez; RV64-NEXT: .LBB0_2: # %if.then 202b6215f1SRoger Ferrer Ibanez; RV64-NEXT: jr a2 212b6215f1SRoger Ferrer Ibanezentry: 222b6215f1SRoger Ferrer Ibanez %0 = xor i1 %a, %b 232b6215f1SRoger Ferrer Ibanez br i1 %0, label %if.end, label %if.then 242b6215f1SRoger Ferrer Ibanez 252b6215f1SRoger Ferrer Ibanezif.then: 262b6215f1SRoger Ferrer Ibanez tail call void %c() #1 272b6215f1SRoger Ferrer Ibanez br label %if.end 282b6215f1SRoger Ferrer Ibanez 292b6215f1SRoger Ferrer Ibanezif.end: 302b6215f1SRoger Ferrer Ibanez ret void 312b6215f1SRoger Ferrer Ibanez} 322b6215f1SRoger Ferrer Ibanez 33*1456b686SNikita Popovdefine void @bool_ne(i1 zeroext %a, i1 zeroext %b, ptr nocapture %c) nounwind { 342b6215f1SRoger Ferrer Ibanez; RV32-LABEL: bool_ne: 352b6215f1SRoger Ferrer Ibanez; RV32: # %bb.0: # %entry 3614bc5e14SRoger Ferrer Ibanez; RV32-NEXT: beq a0, a1, .LBB1_2 372b6215f1SRoger Ferrer Ibanez; RV32-NEXT: # %bb.1: # %if.then 382b6215f1SRoger Ferrer Ibanez; RV32-NEXT: jr a2 392b6215f1SRoger Ferrer Ibanez; RV32-NEXT: .LBB1_2: # %if.end 402b6215f1SRoger Ferrer Ibanez; RV32-NEXT: ret 412b6215f1SRoger Ferrer Ibanez; 422b6215f1SRoger Ferrer Ibanez; RV64-LABEL: bool_ne: 432b6215f1SRoger Ferrer Ibanez; RV64: # %bb.0: # %entry 4414bc5e14SRoger Ferrer Ibanez; RV64-NEXT: beq a0, a1, .LBB1_2 452b6215f1SRoger Ferrer Ibanez; RV64-NEXT: # %bb.1: # %if.then 462b6215f1SRoger Ferrer Ibanez; RV64-NEXT: jr a2 472b6215f1SRoger Ferrer Ibanez; RV64-NEXT: .LBB1_2: # %if.end 482b6215f1SRoger Ferrer Ibanez; RV64-NEXT: ret 492b6215f1SRoger Ferrer Ibanezentry: 502b6215f1SRoger Ferrer Ibanez %cmp = xor i1 %a, %b 512b6215f1SRoger Ferrer Ibanez br i1 %cmp, label %if.then, label %if.end 522b6215f1SRoger Ferrer Ibanez 532b6215f1SRoger Ferrer Ibanezif.then: 542b6215f1SRoger Ferrer Ibanez tail call void %c() #1 552b6215f1SRoger Ferrer Ibanez br label %if.end 562b6215f1SRoger Ferrer Ibanez 572b6215f1SRoger Ferrer Ibanezif.end: 582b6215f1SRoger Ferrer Ibanez ret void 592b6215f1SRoger Ferrer Ibanez} 60