llvm/llvm/test/CodeGen/RISCV/cm_mvas_mvsa.mir

# 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
...