xref: /llvm-project/llvm/test/CodeGen/AVR/pseudo/NEGWRd.mir (revision 5527b215160cf202431881df3be59ed5c8dabb25)
1# RUN: llc -O0 -run-pass=avr-expand-pseudo %s -o - | FileCheck %s
2
3# This test checks the expansion of the 16-bit NEG pseudo instruction.
4
5--- |
6  target triple = "avr--"
7  define void @test_negwrd() {
8  entry:
9    ret void
10  }
11...
12
13---
14name:            test_negwrd
15body: |
16  bb.0.entry:
17    liveins: $r15r14
18
19    ; CHECK-LABEL: test_negwrd
20
21    ; CHECK:      $r15 = NEGRd killed $r15, implicit-def dead $sreg
22    ; CHECK-NEXT: $r14 = NEGRd $r14
23    ; CHECK-NEXT: $r15 = SBCRdRr $r15, $r1, implicit-def $sreg, implicit killed $sreg
24    $r15r14 = NEGWRd $r15r14, $r1, implicit-def $sreg
25
26    ; avrtiny variant
27    ; CHECK:      $r15 = NEGRd killed $r15, implicit-def dead $sreg
28    ; CHECK-NEXT: $r14 = NEGRd $r14
29    ; CHECK-NEXT: $r15 = SBCRdRr $r15, $r17, implicit-def $sreg, implicit killed $sreg
30    $r15r14 = NEGWRd $r15r14, $r17, implicit-def $sreg
31...
32