1; RUN: llvm-mc -triple avr -mattr=addsubiw -show-encoding < %s | FileCheck %s
2; RUN: llvm-mc -filetype=obj -triple avr -mattr=addsubiw < %s | llvm-objdump -dr --mattr=addsubiw - | FileCheck --check-prefix=CHECK-INST %s
3
4
5foo:
6
7  sbiw r26, 54
8  sbiw X,   63
9
10  sbiw 28,  52
11  sbiw r28, 0
12
13  sbiw r30, 63
14  sbiw Z,   47
15
16  sbiw r24, 1
17  sbiw r24, 2
18
19  sbiw r24, SYMBOL-1
20
21; CHECK: sbiw r26,  54                 ; encoding: [0xd6,0x97]
22; CHECK: sbiw r26,  63                 ; encoding: [0xdf,0x97]
23
24; CHECK: sbiw r28,  52                 ; encoding: [0xe4,0x97]
25; CHECK: sbiw r28,  0                  ; encoding: [0x20,0x97]
26
27; CHECK: sbiw r30,  63                 ; encoding: [0xff,0x97]
28; CHECK: sbiw r30,  47                 ; encoding: [0xbf,0x97]
29
30; CHECK: sbiw r24,  1                  ; encoding: [0x01,0x97]
31; CHECK: sbiw r24,  2                  ; encoding: [0x02,0x97]
32
33; CHECK: sbiw    r24, SYMBOL-1         ; encoding: [0b00AAAAAA,0x97]
34                                       ;   fixup A - offset: 0, value: SYMBOL-1, kind: fixup_6_adiw
35
36; CHECK-INST: sbiw r26, 54
37; CHECK-INST: sbiw r26, 63
38
39; CHECK-INST: sbiw r28, 52
40; CHECK-INST: sbiw r28, 0
41
42; CHECK-INST: sbiw r30, 63
43; CHECK-INST: sbiw r30, 47
44
45; CHECK-INST: sbiw r24, 1
46; CHECK-INST: sbiw r24, 2
47
48; CHECK-INST: sbiw r24, 0
49; CHECK-INST:      R_AVR_6_ADIW SYMBOL-0x1
50