mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-27 06:06:06 +00:00

This change fixes #71518, which compared the KnownMinValue of the scalable virtual register with the FixedSize of the physical register in the wrong direction. It turns out that we cannot include this check at all since it will lead to a false failures. Test cases are added to show that the false failures no longer occur after this fix.
63 lines
1.7 KiB
YAML
63 lines
1.7 KiB
YAML
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 3
|
|
# RUN: llc -mtriple=riscv64 -o - -global-isel -run-pass=none -verify-machineinstrs %s | FileCheck %s
|
|
# REQUIRES: riscv64-registered-target
|
|
|
|
---
|
|
name: test_copy_physical_to_virtual_nxv1s8
|
|
legalized: true
|
|
regBankSelected: false
|
|
selected: false
|
|
tracksRegLiveness: true
|
|
registers:
|
|
- { id: 0, class: _, preferred-register: '' }
|
|
liveins:
|
|
body: |
|
|
bb.0:
|
|
liveins: $v8
|
|
|
|
; CHECK-LABEL: name: test_copy_physical_to_virtual_nxv1s8
|
|
; CHECK: liveins: $v8
|
|
; CHECK-NEXT: {{ $}}
|
|
; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<vscale x 1 x s8>) = COPY $v8
|
|
%0:_(<vscale x 1 x s8>) = COPY $v8
|
|
...
|
|
|
|
---
|
|
name: test_copy_physical_to_virtual_nxv16s8
|
|
legalized: true
|
|
tracksRegLiveness: true
|
|
body: |
|
|
bb.1.entry:
|
|
liveins: $v8
|
|
; CHECK-LABEL: name: test_copy_physical_to_virtual_nxv16s8
|
|
; CHECK: liveins: $v8
|
|
; CHECK-NEXT: {{ $}}
|
|
; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<vscale x 16 x s8>) = COPY $v8
|
|
%0:_(<vscale x 16 x s8>) = COPY $v8
|
|
|
|
...
|
|
|
|
---
|
|
name: test_copy_virtual_to_physical
|
|
legalized: true
|
|
regBankSelected: false
|
|
selected: false
|
|
tracksRegLiveness: true
|
|
registers:
|
|
- { id: 0, class: _, preferred-register: '' }
|
|
liveins:
|
|
body: |
|
|
bb.0:
|
|
liveins: $v8
|
|
|
|
; CHECK-LABEL: name: test_copy_virtual_to_physical
|
|
; CHECK: liveins: $v8
|
|
; CHECK-NEXT: {{ $}}
|
|
; CHECK-NEXT: [[DEF:%[0-9]+]]:_(<vscale x 1 x s8>) = IMPLICIT_DEF
|
|
; CHECK-NEXT: $v8 = COPY [[DEF]](<vscale x 1 x s8>)
|
|
; CHECK-NEXT: PseudoRET implicit $v8
|
|
%0:_(<vscale x 1 x s8>) = IMPLICIT_DEF
|
|
$v8 = COPY %0(<vscale x 1 x s8>)
|
|
PseudoRET implicit $v8
|
|
...
|