| # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 4 |
| # RUN: llc -mtriple=riscv32 -verify-machineinstrs -run-pass=riscv-move-merge -simplify-mir -o - %s | FileCheck -check-prefixes=CHECK32I %s |
| # RUN: llc -mtriple=riscv32 -mattr=+zcmp -verify-machineinstrs -run-pass=riscv-move-merge -simplify-mir -o - %s | FileCheck -check-prefixes=CHECK32ZCMP %s |
| # RUN: llc -mtriple=riscv64 -verify-machineinstrs -run-pass=riscv-move-merge -simplify-mir -o - %s | FileCheck -check-prefixes=CHECK64I %s |
| # RUN: llc -mtriple=riscv64 -mattr=+zcmp -verify-machineinstrs -run-pass=riscv-move-merge -simplify-mir -o - %s | FileCheck -check-prefixes=CHECK64ZCMP %s |
| --- |
| name: zcmp_mv |
| tracksRegLiveness: true |
| body: | |
| bb.0: |
| liveins: $x11, $x10 |
| ; CHECK32I-LABEL: name: zcmp_mv |
| ; CHECK32I: liveins: $x11, $x10 |
| ; CHECK32I-NEXT: {{ $}} |
| ; CHECK32I-NEXT: $x8 = ADDI $x11, 0 |
| ; CHECK32I-NEXT: $x9 = ADDI $x10, 0 |
| ; CHECK32I-NEXT: $x10 = ADDI killed $x9, 0 |
| ; CHECK32I-NEXT: $x11 = ADDI $x8, 0 |
| ; CHECK32I-NEXT: PseudoRET |
| ; |
| ; CHECK32ZCMP-LABEL: name: zcmp_mv |
| ; CHECK32ZCMP: liveins: $x11, $x10 |
| ; CHECK32ZCMP-NEXT: {{ $}} |
| ; CHECK32ZCMP-NEXT: $x9, $x8 = CM_MVSA01 implicit $x10, implicit $x11 |
| ; CHECK32ZCMP-NEXT: CM_MVA01S killed $x9, $x8, implicit-def $x10, implicit-def $x11 |
| ; CHECK32ZCMP-NEXT: PseudoRET |
| ; |
| ; CHECK64I-LABEL: name: zcmp_mv |
| ; CHECK64I: liveins: $x11, $x10 |
| ; CHECK64I-NEXT: {{ $}} |
| ; CHECK64I-NEXT: $x8 = ADDI $x11, 0 |
| ; CHECK64I-NEXT: $x9 = ADDI $x10, 0 |
| ; CHECK64I-NEXT: $x10 = ADDI killed $x9, 0 |
| ; CHECK64I-NEXT: $x11 = ADDI $x8, 0 |
| ; CHECK64I-NEXT: PseudoRET |
| ; |
| ; CHECK64ZCMP-LABEL: name: zcmp_mv |
| ; CHECK64ZCMP: liveins: $x11, $x10 |
| ; CHECK64ZCMP-NEXT: {{ $}} |
| ; CHECK64ZCMP-NEXT: $x9, $x8 = CM_MVSA01 implicit $x10, implicit $x11 |
| ; CHECK64ZCMP-NEXT: CM_MVA01S killed $x9, $x8, implicit-def $x10, implicit-def $x11 |
| ; CHECK64ZCMP-NEXT: PseudoRET |
| $x8 = ADDI $x11, 0 |
| $x9 = ADDI $x10, 0 |
| $x10 = ADDI killed $x9, 0 |
| $x11 = ADDI $x8, 0 |
| PseudoRET |
| ... |