1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 3
2 # RUN: llc -mtriple=riscv64 -mattr='+d,+zfa,+v,+xtheadmempair' -verify-machineinstrs -run-pass=riscv-opt-w-instrs %s -o - | FileCheck %s
6 tracksRegLiveness: true
11 ; CHECK-LABEL: name: fcvtmod_w_d
12 ; CHECK: liveins: $x10
14 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $x10
15 ; CHECK-NEXT: [[FCVTMOD_W_D:%[0-9]+]]:gpr = nofpexcept FCVTMOD_W_D [[COPY]], 1
16 ; CHECK-NEXT: $x10 = COPY [[FCVTMOD_W_D]]
17 ; CHECK-NEXT: PseudoRET
20 %1:gpr = nofpexcept FCVTMOD_W_D %0, 1
28 tracksRegLiveness: true
33 ; CHECK-LABEL: name: physreg
34 ; CHECK: liveins: $x10, $x11
36 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10
37 ; CHECK-NEXT: [[ADDIW:%[0-9]+]]:gpr = ADDIW [[COPY]], 0
38 ; CHECK-NEXT: $x10 = COPY [[ADDIW]]
39 ; CHECK-NEXT: PseudoRET
47 tracksRegLiveness: true
52 ; CHECK-LABEL: name: vfirst
53 ; CHECK: liveins: $x10, $v8
55 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vr = COPY $v8
56 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gprnox0 = COPY $x10
57 ; CHECK-NEXT: [[PseudoVFIRST_M_B1_:%[0-9]+]]:gpr = PseudoVFIRST_M_B1 [[COPY]], [[COPY1]], 0 /* e8 */
58 ; CHECK-NEXT: $x11 = COPY [[PseudoVFIRST_M_B1_]]
59 ; CHECK-NEXT: PseudoRET
61 %1:gprnox0 = COPY $x10
63 %2:gpr = PseudoVFIRST_M_B1 %0:vr, %1:gprnox0, 0
70 tracksRegLiveness: true
75 ; CHECK-LABEL: name: vcpop
76 ; CHECK: liveins: $x10, $v8
78 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vr = COPY $v8
79 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gprnox0 = COPY $x10
80 ; CHECK-NEXT: [[PseudoVCPOP_M_B1_:%[0-9]+]]:gpr = PseudoVCPOP_M_B1 [[COPY]], [[COPY1]], 0 /* e8 */
81 ; CHECK-NEXT: $x11 = COPY [[PseudoVCPOP_M_B1_]]
82 ; CHECK-NEXT: PseudoRET
84 %1:gprnox0 = COPY $x10
86 %2:gpr = PseudoVCPOP_M_B1 %0:vr, %1:gprnox0, 0
93 tracksRegLiveness: true
97 ; CHECK-LABEL: name: th_lwd
98 ; CHECK: liveins: $x10
100 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10
101 ; CHECK-NEXT: early-clobber %1:gpr, early-clobber %2:gpr = TH_LWD [[COPY]], 2, 3
102 ; CHECK-NEXT: $x10 = COPY %1
103 ; CHECK-NEXT: $x11 = COPY %2
104 ; CHECK-NEXT: PseudoRET
106 early-clobber %1:gpr, early-clobber %2:gpr = TH_LWD %0, 2, 3