
The order of the entries in the list is: outs, ins, Defs, Uses, implicit-defs, implicit uses, where the last two are added programatically during codegen depending on the registers saved/restored and are not described in the TD files.
49 lines
2.1 KiB
YAML
49 lines
2.1 KiB
YAML
# 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
|
|
...
|