1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 4
2 # RUN: llc -mtriple=riscv32 -verify-machineinstrs -run-pass=riscv-move-merge -simplify-mir -o - %s | FileCheck -check-prefixes=CHECK32I %s
3 # RUN: llc -mtriple=riscv32 -mattr=+zcmp -verify-machineinstrs -run-pass=riscv-move-merge -simplify-mir -o - %s | FileCheck -check-prefixes=CHECK32ZCMP %s
4 # RUN: llc -mtriple=riscv64 -verify-machineinstrs -run-pass=riscv-move-merge -simplify-mir -o - %s | FileCheck -check-prefixes=CHECK64I %s
5 # RUN: llc -mtriple=riscv64 -mattr=+zcmp -verify-machineinstrs -run-pass=riscv-move-merge -simplify-mir -o - %s | FileCheck -check-prefixes=CHECK64ZCMP %s
8 tracksRegLiveness: true
12 ; CHECK32I-LABEL: name: zcmp_mv
13 ; CHECK32I: liveins: $x11, $x10
14 ; CHECK32I-NEXT: {{ $}}
15 ; CHECK32I-NEXT: $x8 = ADDI $x11, 0
16 ; CHECK32I-NEXT: $x9 = ADDI $x10, 0
17 ; CHECK32I-NEXT: $x10 = ADDI killed $x9, 0
18 ; CHECK32I-NEXT: $x11 = ADDI $x8, 0
19 ; CHECK32I-NEXT: PseudoRET
21 ; CHECK32ZCMP-LABEL: name: zcmp_mv
22 ; CHECK32ZCMP: liveins: $x11, $x10
23 ; CHECK32ZCMP-NEXT: {{ $}}
24 ; CHECK32ZCMP-NEXT: $x9, $x8 = CM_MVSA01 implicit $x10, implicit $x11
25 ; CHECK32ZCMP-NEXT: CM_MVA01S killed $x9, $x8, implicit-def $x10, implicit-def $x11
26 ; CHECK32ZCMP-NEXT: PseudoRET
28 ; CHECK64I-LABEL: name: zcmp_mv
29 ; CHECK64I: liveins: $x11, $x10
30 ; CHECK64I-NEXT: {{ $}}
31 ; CHECK64I-NEXT: $x8 = ADDI $x11, 0
32 ; CHECK64I-NEXT: $x9 = ADDI $x10, 0
33 ; CHECK64I-NEXT: $x10 = ADDI killed $x9, 0
34 ; CHECK64I-NEXT: $x11 = ADDI $x8, 0
35 ; CHECK64I-NEXT: PseudoRET
37 ; CHECK64ZCMP-LABEL: name: zcmp_mv
38 ; CHECK64ZCMP: liveins: $x11, $x10
39 ; CHECK64ZCMP-NEXT: {{ $}}
40 ; CHECK64ZCMP-NEXT: $x9, $x8 = CM_MVSA01 implicit $x10, implicit $x11
41 ; CHECK64ZCMP-NEXT: CM_MVA01S killed $x9, $x8, implicit-def $x10, implicit-def $x11
42 ; CHECK64ZCMP-NEXT: PseudoRET
45 $x10 = ADDI killed $x9, 0