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