1,045 changes: 1,045 additions & 0 deletions llvm/test/CodeGen/AVR/jmp-long.ll

Large diffs are not rendered by default.

18 changes: 14 additions & 4 deletions llvm/test/MC/AVR/inst-adiw.s
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
; RUN: llvm-mc -triple avr -mattr=addsubiw -show-encoding < %s | FileCheck %s
; RUNx: llvm-mc -filetype=obj -triple avr -mattr=addsubiw < %s | llvm-objdump -d --mattr=addsubiw - | FileCheck --check-prefix=CHECK-INST %s
; RUN: llvm-mc -filetype=obj -triple avr -mattr=addsubiw < %s | llvm-objdump -dr --mattr=addsubiw - | FileCheck --check-prefix=CHECK-INST %s


foo:
Expand All @@ -10,8 +10,11 @@ foo:
adiw r28, 17
adiw r28, 0

adiw r30, 63
adiw r30, 3
adiw r30, 63
adiw r24, 63
adiw r24, 0
adiw r30, 0

adiw r24, SYMBOL

Expand All @@ -21,8 +24,11 @@ foo:
; CHECK: adiw r28, 17 ; encoding: [0x61,0x96]
; CHECK: adiw r28, 0 ; encoding: [0x20,0x96]

; CHECK: adiw r30, 63 ; encoding: [0xff,0x96]
; CHECK: adiw r30, 3 ; encoding: [0x33,0x96]
; CHECK: adiw r30, 63 ; encoding: [0xff,0x96]
; CHECK: adiw r24, 63 ; encoding: [0xcf,0x96]
; CHECK: adiw r24, 0 ; encoding: [0x00,0x96]
; CHECK: adiw r30, 0 ; encoding: [0x30,0x96]

; CHECK: adiw r24, SYMBOL ; encoding: [0b00AAAAAA,0x96]
; fixup A - offset: 0, value: SYMBOL, kind: fixup_6_adiw
Expand All @@ -33,7 +39,11 @@ foo:
; CHECK-INST: adiw r28, 17
; CHECK-INST: adiw r28, 0

; CHECK-INST: adiw r30, 63
; CHECK-INST: adiw r30, 3
; CHECK-INST: adiw r30, 63
; CHECK-INST: adiw r24, 63
; CHECK-INST: adiw r24, 0
; CHECK-INST: adiw r30, 0

; CHECK-INST: adiw r24, 0
; CHECK-INST: R_AVR_6_ADIW SYMBOL
6 changes: 6 additions & 0 deletions llvm/test/MC/AVR/inst-asr.s
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
; RUN: llvm-mc -triple avr -show-encoding < %s | FileCheck %s
; RUN: llvm-mc -filetype=obj -triple avr < %s | llvm-objdump -d - | FileCheck -check-prefix=CHECK-INST %s


foo:
Expand All @@ -12,3 +13,8 @@ foo:
; CHECK: asr r25 ; encoding: [0x95,0x95]
; CHECK: asr r5 ; encoding: [0x55,0x94]
; CHECK: asr r0 ; encoding: [0x05,0x94]

; CHECK-INST: asr r31
; CHECK-INST: asr r25
; CHECK-INST: asr r5
; CHECK-INST: asr r0
6 changes: 6 additions & 0 deletions llvm/test/MC/AVR/inst-com.s
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
; RUN: llvm-mc -triple avr -show-encoding < %s | FileCheck %s
; RUN: llvm-mc -filetype=obj -triple avr < %s | llvm-objdump -d - | FileCheck -check-prefix=CHECK-INST %s


foo:
Expand All @@ -12,3 +13,8 @@ foo:
; CHECK: com r17 ; encoding: [0x10,0x95]
; CHECK: com r4 ; encoding: [0x40,0x94]
; CHECK: com r0 ; encoding: [0x00,0x94]

; CHECK-INST: com r30
; CHECK-INST: com r17
; CHECK-INST: com r4
; CHECK-INST: com r0
6 changes: 6 additions & 0 deletions llvm/test/MC/AVR/inst-dec.s
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
; RUN: llvm-mc -triple avr -show-encoding < %s | FileCheck %s
; RUN: llvm-mc -filetype=obj -triple avr < %s | llvm-objdump -d - | FileCheck -check-prefix=CHECK-INST %s


foo:
Expand All @@ -12,3 +13,8 @@ foo:
; CHECK: dec r3 ; encoding: [0x3a,0x94]
; CHECK: dec r24 ; encoding: [0x8a,0x95]
; CHECK: dec r20 ; encoding: [0x4a,0x95]

; CHECK-INST: dec r26
; CHECK-INST: dec r3
; CHECK-INST: dec r24
; CHECK-INST: dec r20
9 changes: 9 additions & 0 deletions llvm/test/MC/AVR/inst-elpm.s
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
; RUN: llvm-mc -triple avr -mattr=elpm,elpmx -show-encoding < %s | FileCheck %s
; RUN: llvm-mc -filetype=obj -triple avr -mattr=elpm,elpmx < %s | llvm-objdump -d --mattr=elpm,elpmx - | FileCheck -check-prefix=CHECK-INST %s


foo:
Expand All @@ -18,3 +19,11 @@ foo:

; CHECK: elpm r8, Z+ ; encoding: [0x87,0x90]
; CHECK: elpm r0, Z+ ; encoding: [0x07,0x90]

; CHECK-INST: elpm

; CHECK-INST: elpm r3, Z
; CHECK-INST: elpm r23, Z

; CHECK-INST: elpm r8, Z+
; CHECK-INST: elpm r0, Z+
12 changes: 12 additions & 0 deletions llvm/test/MC/AVR/inst-fmul.s
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
; RUN: llvm-mc -triple avr -mattr=mul -show-encoding < %s | FileCheck %s
; RUN: llvm-mc -filetype=obj -triple avr -mattr=mul < %s | llvm-objdump -d --mattr=mul - | FileCheck -check-prefix=CHECK-INST %s


foo:
Expand All @@ -7,8 +8,19 @@ foo:
fmul r19, r17
fmul r21, r23
fmul r23, r23
fmul r16, r16
fmul r16, r23

; CHECK: fmul r22, r16 ; encoding: [0x68,0x03]
; CHECK: fmul r19, r17 ; encoding: [0x39,0x03]
; CHECK: fmul r21, r23 ; encoding: [0x5f,0x03]
; CHECK: fmul r23, r23 ; encoding: [0x7f,0x03]
; CHECK: fmul r16, r16 ; encoding: [0x08,0x03]
; CHECK: fmul r16, r23 ; encoding: [0x0f,0x03]

; CHECK-INST: fmul r22, r16
; CHECK-INST: fmul r19, r17
; CHECK-INST: fmul r21, r23
; CHECK-INST: fmul r23, r23
; CHECK-INST: fmul r16, r16
; CHECK-INST: fmul r16, r23
6 changes: 6 additions & 0 deletions llvm/test/MC/AVR/inst-fmuls.s
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
; RUN: llvm-mc -triple avr -mattr=mul -show-encoding < %s | FileCheck %s
; RUN: llvm-mc -filetype=obj -triple avr -mattr=mul < %s | llvm-objdump -d --mattr=mul - | FileCheck -check-prefix=CHECK-INST %s


foo:
Expand All @@ -12,3 +13,8 @@ foo:
; CHECK: fmuls r19, r17 ; encoding: [0xb1,0x03]
; CHECK: fmuls r21, r23 ; encoding: [0xd7,0x03]
; CHECK: fmuls r23, r23 ; encoding: [0xf7,0x03]

; CHECK-INST: fmuls r22, r16
; CHECK-INST: fmuls r19, r17
; CHECK-INST: fmuls r21, r23
; CHECK-INST: fmuls r23, r23
6 changes: 6 additions & 0 deletions llvm/test/MC/AVR/inst-fmulsu.s
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
; RUN: llvm-mc -triple avr -mattr=mul -show-encoding < %s | FileCheck %s
; RUN: llvm-mc -filetype=obj -triple avr -mattr=mul < %s | llvm-objdump -d --mattr=mul - | FileCheck -check-prefix=CHECK-INST %s


foo:
Expand All @@ -12,3 +13,8 @@ foo:
; CHECK: fmulsu r19, r17 ; encoding: [0xb9,0x03]
; CHECK: fmulsu r21, r23 ; encoding: [0xdf,0x03]
; CHECK: fmulsu r23, r23 ; encoding: [0xff,0x03]

; CHECK-INST: fmulsu r22, r16
; CHECK-INST: fmulsu r19, r17
; CHECK-INST: fmulsu r21, r23
; CHECK-INST: fmulsu r23, r23
12 changes: 12 additions & 0 deletions llvm/test/MC/AVR/inst-inc.s
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
; RUN: llvm-mc -triple avr -show-encoding < %s | FileCheck %s
; RUN: llvm-mc -filetype=obj -triple avr < %s | llvm-objdump -d - | FileCheck -check-prefix=CHECK-INST %s


foo:
Expand All @@ -7,8 +8,19 @@ foo:
inc r29
inc r6
inc r20
inc r0
inc r31

; CHECK: inc r12 ; encoding: [0xc3,0x94]
; CHECK: inc r29 ; encoding: [0xd3,0x95]
; CHECK: inc r6 ; encoding: [0x63,0x94]
; CHECK: inc r20 ; encoding: [0x43,0x95]
; CHECK: inc r0 ; encoding: [0x03,0x94]
; CHECK: inc r31 ; encoding: [0xf3,0x95]

; CHECK-INST: inc r12
; CHECK-INST: inc r29
; CHECK-INST: inc r6
; CHECK-INST: inc r20
; CHECK-INST: inc r0
; CHECK-INST: inc r31
6 changes: 6 additions & 0 deletions llvm/test/MC/AVR/inst-lac.s
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
; RUN: llvm-mc -triple avr -mattr=rmw -show-encoding < %s | FileCheck %s
; RUN: llvm-mc -filetype=obj -triple avr -mattr=rmw < %s | llvm-objdump -d --mattr=rmw - | FileCheck -check-prefix=CHECK-INST %s


foo:
Expand All @@ -12,3 +13,8 @@ foo:
; CHECK: lac Z, r0 ; encoding: [0x06,0x92]
; CHECK: lac Z, r31 ; encoding: [0xf6,0x93]
; CHECK: lac Z, r3 ; encoding: [0x36,0x92]

; CHECK-INST: lac Z, r13
; CHECK-INST: lac Z, r0
; CHECK-INST: lac Z, r31
; CHECK-INST: lac Z, r3
6 changes: 6 additions & 0 deletions llvm/test/MC/AVR/inst-las.s
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
; RUN: llvm-mc -triple avr -mattr=rmw -show-encoding < %s | FileCheck %s
; RUN: llvm-mc -filetype=obj -triple avr -mattr=rmw < %s | llvm-objdump -d --mattr=rmw - | FileCheck -check-prefix=CHECK-INST %s


foo:
Expand All @@ -12,3 +13,8 @@ foo:
; CHECK: las Z, r0 ; encoding: [0x05,0x92]
; CHECK: las Z, r31 ; encoding: [0xf5,0x93]
; CHECK: las Z, r3 ; encoding: [0x35,0x92]

; CHECK-INST: las Z, r13
; CHECK-INST: las Z, r0
; CHECK-INST: las Z, r31
; CHECK-INST: las Z, r3
6 changes: 6 additions & 0 deletions llvm/test/MC/AVR/inst-lat.s
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
; RUN: llvm-mc -triple avr -mattr=rmw -show-encoding < %s | FileCheck %s
; RUN: llvm-mc -filetype=obj -triple avr -mattr=rmw < %s | llvm-objdump -d --mattr=rmw - | FileCheck -check-prefix=CHECK-INST %s


foo:
Expand All @@ -12,3 +13,8 @@ foo:
; CHECK: lat Z, r0 ; encoding: [0x07,0x92]
; CHECK: lat Z, r31 ; encoding: [0xf7,0x93]
; CHECK: lat Z, r3 ; encoding: [0x37,0x92]

; CHECK-INST: lat Z, r13
; CHECK-INST: lat Z, r0
; CHECK-INST: lat Z, r31
; CHECK-INST: lat Z, r3
12 changes: 12 additions & 0 deletions llvm/test/MC/AVR/inst-lpm.s
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
; RUN: llvm-mc -triple avr -mattr=lpm,lpmx -show-encoding < %s | FileCheck %s
; RUN: llvm-mc -filetype=obj -triple avr -mattr=lpm,lpmx < %s | llvm-objdump -d --mattr=lpm,lpmx - | FileCheck -check-prefix=CHECK-INST %s


foo:
Expand All @@ -10,6 +11,7 @@ foo:

lpm r8, Z+
lpm r0, Z+
lpm r31, Z+

; CHECK: lpm ; encoding: [0xc8,0x95]

Expand All @@ -18,3 +20,13 @@ foo:

; CHECK: lpm r8, Z+ ; encoding: [0x85,0x90]
; CHECK: lpm r0, Z+ ; encoding: [0x05,0x90]
; CHECK: lpm r31, Z+ ; encoding: [0xf5,0x91]

; CHECK-INST: lpm

; CHECK-INST: lpm r3, Z
; CHECK-INST: lpm r23, Z

; CHECK-INST: lpm r8, Z+
; CHECK-INST: lpm r0, Z+
; CHECK-INST: lpm r31, Z+
6 changes: 6 additions & 0 deletions llvm/test/MC/AVR/inst-lsr.s
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
; RUN: llvm-mc -triple avr -show-encoding < %s | FileCheck %s
; RUN: llvm-mc -filetype=obj -triple avr < %s | llvm-objdump -d - | FileCheck -check-prefix=CHECK-INST %s


foo:
Expand All @@ -12,3 +13,8 @@ foo:
; CHECK: lsr r25 ; encoding: [0x96,0x95]
; CHECK: lsr r5 ; encoding: [0x56,0x94]
; CHECK: lsr r0 ; encoding: [0x06,0x94]

; CHECK-INST: lsr r31
; CHECK-INST: lsr r25
; CHECK-INST: lsr r5
; CHECK-INST: lsr r0
18 changes: 18 additions & 0 deletions llvm/test/MC/AVR/inst-movw.s
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
; RUN: llvm-mc -triple avr -mattr=movw -show-encoding < %s | FileCheck %s
; RUN: llvm-mc -filetype=obj -triple avr -mattr=movw < %s | llvm-objdump -d --mattr=movw - | FileCheck -check-prefix=CHECK-INST %s


foo:
Expand All @@ -7,8 +8,25 @@ foo:
movw r12, r16
movw r20, r22
movw r8, r12
movw r0, r0
movw r0, r30
movw r30, r30
movw r30, r0

; CHECK: movw r10, r8 ; encoding: [0x54,0x01]
; CHECK: movw r12, r16 ; encoding: [0x68,0x01]
; CHECK: movw r20, r22 ; encoding: [0xab,0x01]
; CHECK: movw r8, r12 ; encoding: [0x46,0x01]
; CHECK: movw r0, r0 ; encoding: [0x00,0x01]
; CHECK: movw r0, r30 ; encoding: [0x0f,0x01]
; CHECK: movw r30, r30 ; encoding: [0xff,0x01]
; CHECK: movw r30, r0 ; encoding: [0xf0,0x01]

; CHECK-INST: movw r10, r8
; CHECK-INST: movw r12, r16
; CHECK-INST: movw r20, r22
; CHECK-INST: movw r8, r12
; CHECK-INST: movw r0, r0
; CHECK-INST: movw r0, r30
; CHECK-INST: movw r30, r30
; CHECK-INST: movw r30, r0
12 changes: 12 additions & 0 deletions llvm/test/MC/AVR/inst-muls.s
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
; RUN: llvm-mc -triple avr -mattr=mul -show-encoding < %s | FileCheck %s
; RUN: llvm-mc -filetype=obj -triple avr -mattr=mul < %s | llvm-objdump -d --mattr=mul - | FileCheck -check-prefix=CHECK-INST %s


foo:
Expand All @@ -7,8 +8,19 @@ foo:
muls r19, r17
muls r28, r31
muls r31, r31
muls r16, r16
muls r16, r31

; CHECK: muls r22, r16 ; encoding: [0x60,0x02]
; CHECK: muls r19, r17 ; encoding: [0x31,0x02]
; CHECK: muls r28, r31 ; encoding: [0xcf,0x02]
; CHECK: muls r31, r31 ; encoding: [0xff,0x02]
; CHECK: muls r16, r16 ; encoding: [0x00,0x02]
; CHECK: muls r16, r31 ; encoding: [0x0f,0x02]

; CHECK-INST: muls r22, r16
; CHECK-INST: muls r19, r17
; CHECK-INST: muls r28, r31
; CHECK-INST: muls r31, r31
; CHECK-INST: muls r16, r16
; CHECK-INST: muls r16, r31
6 changes: 6 additions & 0 deletions llvm/test/MC/AVR/inst-mulsu.s
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
; RUN: llvm-mc -triple avr -mattr=mul -show-encoding < %s | FileCheck %s
; RUN: llvm-mc -filetype=obj -triple avr -mattr=mul < %s | llvm-objdump -d --mattr=mul - | FileCheck -check-prefix=CHECK-INST %s


foo:
Expand All @@ -12,3 +13,8 @@ foo:
; CHECK: mulsu r19, r17 ; encoding: [0x31,0x03]
; CHECK: mulsu r21, r23 ; encoding: [0x57,0x03]
; CHECK: mulsu r23, r23 ; encoding: [0x77,0x03]

; CHECK-INST: mulsu r22, r16
; CHECK-INST: mulsu r19, r17
; CHECK-INST: mulsu r21, r23
; CHECK-INST: mulsu r23, r23
6 changes: 6 additions & 0 deletions llvm/test/MC/AVR/inst-neg.s
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
; RUN: llvm-mc -triple avr -show-encoding < %s | FileCheck %s
; RUN: llvm-mc -filetype=obj -triple avr < %s | llvm-objdump -d - | FileCheck -check-prefix=CHECK-INST %s

foo:
neg r15
Expand All @@ -10,3 +11,8 @@ foo:
; CHECK: neg r1 ; encoding: [0x11,0x94]
; CHECK: neg r22 ; encoding: [0x61,0x95]
; CHECK: neg r31 ; encoding: [0xf1,0x95]

; CHECK-INST: neg r15
; CHECK-INST: neg r1
; CHECK-INST: neg r22
; CHECK-INST: neg r31
6 changes: 6 additions & 0 deletions llvm/test/MC/AVR/inst-pop.s
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
; RUN: llvm-mc -triple avr -mattr=sram -show-encoding < %s | FileCheck %s
; RUN: llvm-mc -filetype=obj -triple avr -mattr=sram < %s | llvm-objdump -d --mattr=sram - | FileCheck -check-prefix=CHECK-INST %s


foo:
Expand All @@ -12,3 +13,8 @@ foo:
; CHECK: pop r25 ; encoding: [0x9f,0x91]
; CHECK: pop r5 ; encoding: [0x5f,0x90]
; CHECK: pop r0 ; encoding: [0x0f,0x90]

; CHECK-INST: pop r31
; CHECK-INST: pop r25
; CHECK-INST: pop r5
; CHECK-INST: pop r0
6 changes: 6 additions & 0 deletions llvm/test/MC/AVR/inst-push.s
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
; RUN: llvm-mc -triple avr -mattr=sram -show-encoding < %s | FileCheck %s
; RUN: llvm-mc -filetype=obj -triple avr -mattr=sram < %s | llvm-objdump -d --mattr=sram - | FileCheck -check-prefix=CHECK-INST %s


foo:
Expand All @@ -12,3 +13,8 @@ foo:
; CHECK: push r25 ; encoding: [0x9f,0x93]
; CHECK: push r5 ; encoding: [0x5f,0x92]
; CHECK: push r0 ; encoding: [0x0f,0x92]

; CHECK-INST: push r31
; CHECK-INST: push r25
; CHECK-INST: push r5
; CHECK-INST: push r0
6 changes: 6 additions & 0 deletions llvm/test/MC/AVR/inst-ror.s
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
; RUN: llvm-mc -triple avr -show-encoding < %s | FileCheck %s
; RUN: llvm-mc -filetype=obj -triple avr < %s | llvm-objdump -d - | FileCheck -check-prefix=CHECK-INST %s


foo:
Expand All @@ -12,3 +13,8 @@ foo:
; CHECK: ror r25 ; encoding: [0x97,0x95]
; CHECK: ror r5 ; encoding: [0x57,0x94]
; CHECK: ror r0 ; encoding: [0x07,0x94]

; CHECK-INST: ror r31
; CHECK-INST: ror r25
; CHECK-INST: ror r5
; CHECK-INST: ror r0
11 changes: 6 additions & 5 deletions llvm/test/MC/AVR/inst-sbiw.s
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
; RUN: llvm-mc -triple avr -mattr=addsubiw -show-encoding < %s | FileCheck %s
; RUNx: llvm-mc -filetype=obj -triple avr -mattr=addsubiw < %s | llvm-objdump -d --mattr=addsubiw - | FileCheck --check-prefix=CHECK-INST %s
; RUN: llvm-mc -filetype=obj -triple avr -mattr=addsubiw < %s | llvm-objdump -dr --mattr=addsubiw - | FileCheck --check-prefix=CHECK-INST %s


foo:
Expand Down Expand Up @@ -34,15 +34,16 @@ foo:
; fixup A - offset: 0, value: SYMBOL-1, kind: fixup_6_adiw

; CHECK-INST: sbiw r26, 54
; CHECK-INST: sbiw X, 63
; CHECK-INST: sbiw r26, 63

; CHECK-INST: sbiw 28, 52
; CHECK-INST: sbiw r28, 52
; CHECK-INST: sbiw r28, 0

; CHECK-INST: sbiw r30, 63
; CHECK-INST: sbiw Z, 47
; CHECK-INST: sbiw r30, 47

; CHECK-INST: sbiw r24, 1
; CHECK-INST: sbiw r24, 2

; CHECK-INST: sbiw r24, SYMBOL-1
; CHECK-INST: sbiw r24, 0
; CHECK-INST: R_AVR_6_ADIW SYMBOL-0x1
4 changes: 4 additions & 0 deletions llvm/test/MC/AVR/inst-spm.s
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
; RUN: llvm-mc -triple avr -mattr=spm,spmx -show-encoding < %s | FileCheck %s
; RUN: llvm-mc -filetype=obj -triple avr -mattr=spm,spmx < %s | llvm-objdump -d --mattr=spm,spmx - | FileCheck -check-prefix=CHECK-INST %s


foo:
Expand All @@ -8,3 +9,6 @@ foo:

; CHECK: spm ; encoding: [0xe8,0x95]
; CHECK: spm Z+ ; encoding: [0xf8,0x95]

; CHECK-INST: spm
; CHECK-INST: spm Z+
6 changes: 6 additions & 0 deletions llvm/test/MC/AVR/inst-swap.s
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
; RUN: llvm-mc -triple avr -show-encoding < %s | FileCheck %s
; RUN: llvm-mc -filetype=obj -triple avr < %s | llvm-objdump -d - | FileCheck -check-prefix=CHECK-INST %s


foo:
Expand All @@ -12,3 +13,8 @@ foo:
; CHECK: swap r25 ; encoding: [0x92,0x95]
; CHECK: swap r5 ; encoding: [0x52,0x94]
; CHECK: swap r0 ; encoding: [0x02,0x94]

; CHECK-INST: swap r31
; CHECK-INST: swap r25
; CHECK-INST: swap r5
; CHECK-INST: swap r0
6 changes: 6 additions & 0 deletions llvm/test/MC/AVR/inst-xch.s
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
; RUN: llvm-mc -triple avr -mattr=rmw -show-encoding < %s | FileCheck %s
; RUN: llvm-mc -filetype=obj -triple avr -mattr=rmw < %s | llvm-objdump -d --mattr=rmw - | FileCheck -check-prefix=CHECK-INST %s


foo:
Expand All @@ -12,3 +13,8 @@ foo:
; CHECK: xch Z, r0 ; encoding: [0x04,0x92]
; CHECK: xch Z, r31 ; encoding: [0xf4,0x93]
; CHECK: xch Z, r3 ; encoding: [0x34,0x92]

; CHECK-INST: xch Z, r13
; CHECK-INST: xch Z, r0
; CHECK-INST: xch Z, r31
; CHECK-INST: xch Z, r3