# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 3 # RUN: llc -mtriple=riscv64 -mattr='+d,+zfa,+v' -verify-machineinstrs -run-pass=riscv-opt-w-instrs %s -o - | FileCheck %s --- name: fcvtmod_w_d tracksRegLiveness: true body: | bb.0.entry: liveins: $x10 ; CHECK-LABEL: name: fcvtmod_w_d ; CHECK: liveins: $x10 ; CHECK-NEXT: {{ $}} ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $x10 ; CHECK-NEXT: [[FCVTMOD_W_D:%[0-9]+]]:gpr = nofpexcept FCVTMOD_W_D [[COPY]], 1 ; CHECK-NEXT: $x10 = COPY [[FCVTMOD_W_D]] ; CHECK-NEXT: PseudoRET %0:fpr64 = COPY $x10 %1:gpr = nofpexcept FCVTMOD_W_D %0, 1 %2:gpr = ADDIW %1, 0 $x10 = COPY %2 PseudoRET ... --- name: physreg tracksRegLiveness: true body: | bb.0.entry: liveins: $x10, $x11 ; CHECK-LABEL: name: physreg ; CHECK: liveins: $x10, $x11 ; CHECK-NEXT: {{ $}} ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10 ; CHECK-NEXT: [[ADDIW:%[0-9]+]]:gpr = ADDIW [[COPY]], 0 ; CHECK-NEXT: $x10 = COPY [[ADDIW]] ; CHECK-NEXT: PseudoRET %0:gpr = COPY $x10 %1:gpr = ADDIW %0, 0 $x10 = COPY %1 PseudoRET ... --- name: vfirst tracksRegLiveness: true body: | bb.0.entry: liveins: $x10, $v8 ; CHECK-LABEL: name: vfirst ; CHECK: liveins: $x10, $v8 ; CHECK-NEXT: {{ $}} ; CHECK-NEXT: [[COPY:%[0-9]+]]:vr = COPY $v8 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gprnox0 = COPY $x10 ; CHECK-NEXT: [[PseudoVFIRST_M_B1_:%[0-9]+]]:gpr = PseudoVFIRST_M_B1 [[COPY]], [[COPY1]], 0 /* e8 */ ; CHECK-NEXT: $x11 = COPY [[PseudoVFIRST_M_B1_]] ; CHECK-NEXT: PseudoRET %0:vr = COPY $v8 %1:gprnox0 = COPY $x10 %2:gpr = PseudoVFIRST_M_B1 %0:vr, %1:gprnox0, 0 %3:gpr = ADDIW %2, 0 $x11 = COPY %3 PseudoRET ... --- name: vcpop tracksRegLiveness: true body: | bb.0.entry: liveins: $x10, $v8 ; CHECK-LABEL: name: vcpop ; CHECK: liveins: $x10, $v8 ; CHECK-NEXT: {{ $}} ; CHECK-NEXT: [[COPY:%[0-9]+]]:vr = COPY $v8 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gprnox0 = COPY $x10 ; CHECK-NEXT: [[PseudoVCPOP_M_B1_:%[0-9]+]]:gpr = PseudoVCPOP_M_B1 [[COPY]], [[COPY1]], 0 /* e8 */ ; CHECK-NEXT: $x11 = COPY [[PseudoVCPOP_M_B1_]] ; CHECK-NEXT: PseudoRET %0:vr = COPY $v8 %1:gprnox0 = COPY $x10 %2:gpr = PseudoVCPOP_M_B1 %0:vr, %1:gprnox0, 0 %3:gpr = ADDIW %2, 0 $x11 = COPY %3 PseudoRET ...