1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-02-01 05:01:59 +01:00
llvm-mirror/test/CodeGen/AVR/pseudo/LDDWRdPtrQ.mir
Jim Lin 22fbd9337b [AVR] Fix incorrect source regclass of LDWRdPtr
Summary:
LDWRdPtr would be expanded to ld+ldd. ldd only accepts the pointer register is Y or Z.
So the register class of pointer of LDWRdPtr should be PTRDISPREGS instead of PTRREGS.

Reviewers: dylanmckay

Reviewed By: dylanmckay

Subscribers: dylanmckay, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D62300

llvm-svn: 362351
2019-06-03 02:31:07 +00:00

26 lines
484 B
YAML

# RUN: llc -O0 %s -o - -march=avr | FileCheck %s
# This test checks the expansion of the 16-bit 'LDDWRdPtrQ' pseudo instruction.
--- |
target triple = "avr--"
define void @test_lddwrdptrq() {
entry:
ret void
}
...
---
name: test_lddwrdptrq
tracksRegLiveness: true
body: |
bb.0.entry:
; CHECK-LABEL: test_lddwrdptrq
; CHECK: ldd r24, Z+10
; CHECK-NEXT: ldd r25, Z+11
early-clobber $r25r24 = LDDWRdPtrQ undef $r31r30, 10
...