xref: /llvm-project/llvm/test/CodeGen/AVR/pseudo/LSRWNRd.mir (revision 49b0b5f0fa868bad2622d03e63c79708bf6963fa)
1*49b0b5f0SBen Shi# RUN: llc -O0 -run-pass=avr-expand-pseudo %s -o - | FileCheck %s
2*49b0b5f0SBen Shi
3*49b0b5f0SBen Shi--- |
4*49b0b5f0SBen Shi  target triple = "avr--"
5*49b0b5f0SBen Shi  define void @test() {
6*49b0b5f0SBen Shi  entry:
7*49b0b5f0SBen Shi    ret void
8*49b0b5f0SBen Shi  }
9*49b0b5f0SBen Shi...
10*49b0b5f0SBen Shi
11*49b0b5f0SBen Shi---
12*49b0b5f0SBen Shiname:            test
13*49b0b5f0SBen Shibody: |
14*49b0b5f0SBen Shi  bb.0.entry:
15*49b0b5f0SBen Shi    liveins: $r17r16, $r19r18, $r21r20
16*49b0b5f0SBen Shi
17*49b0b5f0SBen Shi    ; CHECK-LABEL: test
18*49b0b5f0SBen Shi
19*49b0b5f0SBen Shi    ; CHECK:      $r17 = SWAPRd killed $r17
20*49b0b5f0SBen Shi    ; CHECK-NEXT: $r16 = SWAPRd killed $r16
21*49b0b5f0SBen Shi    ; CHECK-NEXT: $r16 = ANDIRdK killed $r16, 15, implicit-def dead $sreg
22*49b0b5f0SBen Shi    ; CHECK-NEXT: $r16 = EORRdRr killed $r16, $r17, implicit-def dead $sreg
23*49b0b5f0SBen Shi    ; CHECK-NEXT: $r17 = ANDIRdK $r17, 15, implicit-def dead $sreg
24*49b0b5f0SBen Shi    ; CHECK-NEXT: $r16 = EORRdRr $r16, $r17, implicit-def $sreg
25*49b0b5f0SBen Shi    $r17r16 = LSRWNRd $r17r16,  4, implicit-def $sreg
26*49b0b5f0SBen Shi
27*49b0b5f0SBen Shi    ; CHECK-NEXT: $r18 = MOVRdRr $r19
28*49b0b5f0SBen Shi    ; CHECK-NEXT: $r19 = EORRdRr $r19, $r19, implicit-def $sreg
29*49b0b5f0SBen Shi    $r19r18 = LSRWNRd $r19r18,  8, implicit-def $sreg
30*49b0b5f0SBen Shi
31*49b0b5f0SBen Shi    ; CHECK-NEXT: $r20 = MOVRdRr $r21
32*49b0b5f0SBen Shi    ; CHECK-NEXT: $r20 = SWAPRd killed $r20
33*49b0b5f0SBen Shi    ; CHECK-NEXT: $r20 = ANDIRdK $r20, 15, implicit-def dead $sreg
34*49b0b5f0SBen Shi    ; CHECK-NEXT: $r21 = EORRdRr $r21, $r21, implicit-def $sreg
35*49b0b5f0SBen Shi    $r21r20 = LSRWNRd $r21r20, 12, implicit-def $sreg
36*49b0b5f0SBen Shi...
37