71 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 22# RUN: llc %s -o - -mtriple=riscv64 -mattr=+v,+xsfvcp -start-after=finalize-isel | FileCheck %s3 4--- |5 define void @foo() {6 ; CHECK-LABEL: foo:7 ; CHECK: # %bb.0: # %entry8 ; CHECK-NEXT: vsetivli zero, 1, e64, m1, ta, ma9 ; CHECK-NEXT: sf.vc.v.x 3, 31, v9, a110 ; CHECK-NEXT: bgeu a0, zero, .LBB0_311 ; CHECK-NEXT: # %bb.1: # %entry12 ; CHECK-NEXT: li a2, 12813 ; CHECK-NEXT: bltu a0, a2, .LBB0_414 ; CHECK-NEXT: .LBB0_2: # %entry15 ; CHECK-NEXT: vse64.v v9, (a1)16 ; CHECK-NEXT: ret17 ; CHECK-NEXT: .LBB0_3:18 ; CHECK-NEXT: vmv.v.i v9, 019 ; CHECK-NEXT: li a2, 12820 ; CHECK-NEXT: bgeu a0, a2, .LBB0_221 ; CHECK-NEXT: .LBB0_4: # %entry22 ; CHECK-NEXT: vmsne.vi v0, v8, 023 ; CHECK-NEXT: vsll.vi v8, v8, 524 ; CHECK-NEXT: vmerge.vim v9, v8, -1, v025 ; CHECK-NEXT: vse64.v v9, (a1)26 ; CHECK-NEXT: ret27 entry:28 ret void29 }30...31---32name: foo33tracksRegLiveness: true34liveins:35 - { reg: '$x10', virtual-reg: '%1' }36 - { reg: '$x11', virtual-reg: '%2' }37 - { reg: '$v8', virtual-reg: '%2' }38body: |39 bb.0.entry:40 successors: %bb.1, %bb.241 liveins: $x10, $x11, $x12, $v842 43 %2:gpr = COPY $x1144 %1:gpr = COPY $x1045 %3:vr = COPY $v846 %17:vr = PseudoVSLL_VI_M1 undef $noreg, %3, 5, 1, 6 /* e64 */, 047 %22:vr = PseudoVMSNE_VI_M1 %3, 0, 1, 6 /* e64 */48 %23:vmv0 = COPY %2249 %25:vrnov0 = PseudoVMERGE_VIM_M1 undef $noreg, %17, -1, %23, 1, 6 /* e64 */50 %29:vr = PseudoSF_VC_V_X_SE_M1 3, 31, %2, 1, 6 /* e64 */, implicit-def dead $sf_vcix_state, implicit $sf_vcix_state51 %30:vr = PseudoVMV_V_I_M1 undef $noreg, 0, 1, 6 /* e64 */, 052 BGEU %1, $x0, %bb.253 54 bb.1.entry:55 56 bb.2.entry:57 successors: %bb.3, %bb.458 59 %31:vr = PHI %30, %bb.0, %29, %bb.160 %32:gpr = ADDI $x0, 12861 BGEU %1, %32, %bb.462 63 bb.3.entry:64 65 bb.4.entry:66 %33:vr = PHI %31, %bb.2, %25, %bb.367 PseudoVSE64_V_M1 killed %33, %2, 1, 6 /* e64 */68 PseudoRET69 70...71