xref: /llvm-project/llvm/test/CodeGen/AVR/pseudo/LDWRdPtr.mir (revision d1d3005c9fe6a1ded17d4cad373cae85c743e7f3)
1# RUN: llc -O0 -run-pass=avr-expand-pseudo %s -o - | FileCheck %s
2# RUN: llc -O0 -run-pass=avr-expand-pseudo -mattr=avrtiny %s -o - | FileCheck %s --check-prefix=CHECK-TINY
3
4# This test checks the expansion of the 16-bit LDWRdPtr pseudo instruction.
5
6--- |
7  target triple = "avr--"
8  define void @test_ldwrdptr() {
9  entry:
10    ret void
11  }
12...
13
14---
15name:            test_ldwrdptr
16body: |
17  bb.0.entry:
18    liveins: $r31r30
19
20    ; CHECK-LABEL: test_ldwrdptr
21
22    ; CHECK:               $r0 = LDRdPtr $r31r30
23    ; CHECK-NEXT:          $r1 = LDDRdPtrQ $r31r30, 1
24
25    ; CHECK-TINY:      $r0, $r31r30 = LDRdPtrPi killed $r31r30
26    ; CHECK-TINY-NEXT: $r1, $r31r30 = LDRdPtrPi killed $r31r30
27    ; CHECK-TINY-NEXT: $r30 = SUBIRdK $r30, 2, implicit-def $sreg
28    ; CHECK-TINY-NEXT: $r31 = SBCIRdK $r31, 0, implicit-def $sreg, implicit killed $sreg
29
30    $r1r0 = LDWRdPtr $r31r30
31...
32