1; RUN: llvm-mc -triple avr -mattr=sram -show-encoding < %s | FileCheck %s 2; RUN: llvm-mc -filetype=obj -triple avr -mattr=sram < %s \ 3; RUN: | llvm-objdump -dr --mattr=sram - | FileCheck --check-prefix=INST %s 4 5foo: 6 ; Normal 7 8 st X, r10 9 st X, r17 10 11 st Y, r30 12 st Y, r19 13 14 st Z, r10 15 st Z, r2 16 17 ; Postincrement 18 19 st X+, r10 20 st X+, r17 21 22 st Y+, r30 23 st Y+, r19 24 25 st Z+, r10 26 st Z+, r2 27 28 ; Predecrement 29 30 st -X, r10 31 st -X, r17 32 33 st -Y, r30 34 st -Y, r19 35 36 st -Z, r10 37 st -Z, r2 38 39; Normal 40 41; CHECK: st X, r10 ; encoding: [0xac,0x92] 42; CHECK: st X, r17 ; encoding: [0x1c,0x93] 43 44; CHECK: st Y, r30 ; encoding: [0xe8,0x83] 45; CHECK: st Y, r19 ; encoding: [0x38,0x83] 46 47; CHECK: st Z, r10 ; encoding: [0xa0,0x82] 48; CHECK: st Z, r2 ; encoding: [0x20,0x82] 49 50 51; Postincrement 52 53; CHECK: st X+, r10 ; encoding: [0xad,0x92] 54; CHECK: st X+, r17 ; encoding: [0x1d,0x93] 55 56; CHECK: st Y+, r30 ; encoding: [0xe9,0x93] 57; CHECK: st Y+, r19 ; encoding: [0x39,0x93] 58 59; CHECK: st Z+, r10 ; encoding: [0xa1,0x92] 60; CHECK: st Z+, r2 ; encoding: [0x21,0x92] 61 62 63; Predecrement 64 65; CHECK: st -X, r10 ; encoding: [0xae,0x92] 66; CHECK: st -X, r17 ; encoding: [0x1e,0x93] 67 68; CHECK: st -Y, r30 ; encoding: [0xea,0x93] 69; CHECK: st -Y, r19 ; encoding: [0x3a,0x93] 70 71; CHECK: st -Z, r10 ; encoding: [0xa2,0x92] 72; CHECK: st -Z, r2 ; encoding: [0x22,0x92] 73 74; INST: st X, r10 75; INST: st X, r17 76; INST: std Y+0, r30 77; INST: std Y+0, r19 78; INST: std Z+0, r10 79; INST: std Z+0, r2 80 81; INST: st X+, r10 82; INST: st X+, r17 83; INST: st Y+, r30 84; INST: st Y+, r19 85; INST: st Z+, r10 86; INST: st Z+, r2 87 88; INST: st -X, r10 89; INST: st -X, r17 90; INST: st -Y, r30 91; INST: st -Y, r19 92; INST: st -Z, r10 93; INST: st -Z, r2 94