brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.1 KiB · 89b124d Raw
87 lines · plain
1# RUN: llc -O0 -run-pass=avr-expand-pseudo -verify-machineinstrs %s -o - | FileCheck %s2# RUN: llc -O0 -run-pass=avr-expand-pseudo -verify-machineinstrs -mattr=avrtiny %s -o - \3# RUN:     | FileCheck %s --check-prefix=CHECK-TINY4# RUN: llc -O0 -run-pass=avr-expand-pseudo -verify-machineinstrs -mattr=lowbytefirst %s -o - \5# RUN:     | FileCheck %s --check-prefix=CHECK-XMEGA6 7--- |8  target triple = "avr--"9  define void @test() {10  entry:11    ret void12  }13...14 15---16name:            test17body: |18  bb.0.entry:19 20    ; CHECK-LABEL: test21 22    ; Small displacement (<63):23    ; CHECK:            STDPtrQRr $r29r28, 4, $r124    ; CHECK-NEXT:       STDPtrQRr $r29r28, 3, $r025    ; CHECK-XMEGA:      STDPtrQRr $r29r28, 3, $r026    ; CHECK-XMEGA-NEXT: STDPtrQRr $r29r28, 4, $r127    ; CHECK-TINY:       $r28 = SUBIRdK killed $r28, 253, implicit-def $sreg28    ; CHECK-TINY-NEXT:  $r29 = SBCIRdK killed $r29, 255, implicit-def $sreg, implicit killed $sreg29    ; CHECK-TINY-NEXT:  early-clobber $r29r28 = STPtrPiRr killed $r29r28, $r0, 030    ; CHECK-TINY-NEXT:  early-clobber $r29r28 = STPtrPiRr killed $r29r28, $r1, 031    ; CHECK-TINY-NEXT:  $r28 = SUBIRdK killed $r28, 5, implicit-def $sreg32    ; CHECK-TINY-NEXT:  $r29 = SBCIRdK killed $r29, 0, implicit-def $sreg, implicit killed $sreg33    STDWPtrQRr $r29r28, 3, $r1r034 35    ; Small displacement where the destination register is killed:36    ; CHECK-NEXT:       STDPtrQRr $r29r28, 4, $r137    ; CHECK-NEXT:       STDPtrQRr killed $r29r28, 3, $r038    ; CHECK-XMEGA-NEXT: STDPtrQRr $r29r28, 3, $r039    ; CHECK-XMEGA-NEXT: STDPtrQRr killed $r29r28, 4, $r140    STDWPtrQRr killed $r29r28, 3, $r1r041 42    ; Small displacement where the source register is killed:43    ; CHECK:            STDPtrQRr $r29r28, 4, killed $r144    ; CHECK-NEXT:       STDPtrQRr $r29r28, 3, killed $r045    ; CHECK-XMEGA:      STDPtrQRr $r29r28, 3, killed $r046    ; CHECK-XMEGA-NEXT: STDPtrQRr $r29r28, 4, killed $r147    STDWPtrQRr $r29r28, 3, killed $r1r048 49    ; Small displacement, near the limit (=62):50    ; CHECK:            STDPtrQRr $r29r28, 63, $r151    ; CHECK-NEXT:       STDPtrQRr $r29r28, 62, $r052    ; CHECK-XMEGA:      STDPtrQRr $r29r28, 62, $r053    ; CHECK-XMEGA-NEXT: STDPtrQRr $r29r28, 63, $r154    STDWPtrQRr $r29r28, 62, $r1r055 56    ; Large displacement (>=63):57    ; CHECK:      $r28 = SUBIRdK killed $r28, 193, implicit-def $sreg58    ; CHECK-NEXT: $r29 = SBCIRdK killed $r29, 255, implicit-def $sreg, implicit killed $sreg59    ; CHECK-NEXT: $r29r28 = STPtrPiRr killed $r29r28, $r0, 060    ; CHECK-NEXT: $r29r28 = STPtrPiRr killed $r29r28, $r1, 061    ; CHECK-NEXT: $r28 = SUBIRdK killed $r28, 65, implicit-def $sreg62    ; CHECK-NEXT: $r29 = SBCIRdK killed $r29, 0, implicit-def $sreg, implicit killed $sreg63    ; CHECK-TINY:      $r28 = SUBIRdK killed $r28, 193, implicit-def $sreg64    ; CHECK-TINY-NEXT: $r29 = SBCIRdK killed $r29, 255, implicit-def $sreg, implicit killed $sreg65    ; CHECK-TINY-NEXT: $r29r28 = STPtrPiRr killed $r29r28, $r0, 066    ; CHECK-TINY-NEXT: $r29r28 = STPtrPiRr killed $r29r28, $r1, 067    ; CHECK-TINY-NEXT: $r28 = SUBIRdK killed $r28, 65, implicit-def $sreg68    ; CHECK-TINY-NEXT: $r29 = SBCIRdK killed $r29, 0, implicit-def $sreg, implicit killed $sreg69    STDWPtrQRr $r29r28, 63, $r1r070 71    ; Large displacement where the destination register is killed:72    ; CHECK: $r28 = SUBIRdK killed $r28, 193, implicit-def $sreg73    ; CHECK-NEXT: $r29 = SBCIRdK killed $r29, 255, implicit-def $sreg, implicit killed $sreg74    ; CHECK-NEXT: $r29r28 = STPtrPiRr killed $r29r28, $r075    ; CHECK-NEXT: $r29r28 = STPtrPiRr killed $r29r28, $r176    STDWPtrQRr killed $r29r28, 63, $r1r077 78    ; Large displacement where the source register is killed:79    ; CHECK:      $r28 = SUBIRdK killed $r28, 193, implicit-def $sreg80    ; CHECK-NEXT: $r29 = SBCIRdK killed $r29, 255, implicit-def $sreg, implicit killed $sreg81    ; CHECK-NEXT: STPtrPiRr killed $r29r28, killed $r0, 082    ; CHECK-NEXT: STPtrPiRr killed $r29r28, killed $r1, 083    ; CHECK-NEXT: $r28 = SUBIRdK killed $r28, 65, implicit-def $sreg84    ; CHECK-NEXT: $r29 = SBCIRdK killed $r29, 0, implicit-def $sreg, implicit killed $sreg85    STDWPtrQRr $r29r28, 63, killed $r1r086...87