94 lines · plain
1; RUN: llvm-mc -triple avr -mattr=sram -show-encoding < %s | FileCheck %s2; RUN: llvm-mc -filetype=obj -triple avr -mattr=sram < %s \3; RUN: | llvm-objdump -dr --mattr=sram - | FileCheck --check-prefix=INST %s4 5foo:6 ; Normal7 8 st X, r109 st X, r1710 11 st Y, r3012 st Y, r1913 14 st Z, r1015 st Z, r216 17 ; Postincrement18 19 st X+, r1020 st X+, r1721 22 st Y+, r3023 st Y+, r1924 25 st Z+, r1026 st Z+, r227 28 ; Predecrement29 30 st -X, r1031 st -X, r1732 33 st -Y, r3034 st -Y, r1935 36 st -Z, r1037 st -Z, r238 39; Normal40 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; Postincrement52 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; Predecrement64 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, r1075; INST: st X, r1776; INST: std Y+0, r3077; INST: std Y+0, r1978; INST: std Z+0, r1079; INST: std Z+0, r280 81; INST: st X+, r1082; INST: st X+, r1783; INST: st Y+, r3084; INST: st Y+, r1985; INST: st Z+, r1086; INST: st Z+, r287 88; INST: st -X, r1089; INST: st -X, r1790; INST: st -Y, r3091; INST: st -Y, r1992; INST: st -Z, r1093; INST: st -Z, r294