95 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 ld r10, X9 ld r17, X10 11 ld r30, Y12 ld r19, Y13 14 ld r10, Z15 ld r2, Z16 17 ; Postincremenet18 19 ld r10, X+20 ld r17, X+21 22 ld r30, Y+23 ld r19, Y+24 25 ld r10, Z+26 ld r2, Z+27 28 ; Predecrement29 30 ld r10, -X31 ld r17, -X32 33 ld r30, -Y34 ld r19, -Y35 36 ld r10, -Z37 ld r2, -Z38 39 40; Normal41 42; CHECK: ld r10, X ; encoding: [0xac,0x90]43; CHECK: ld r17, X ; encoding: [0x1c,0x91]44 45; CHECK: ld r30, Y ; encoding: [0xe8,0x81]46; CHECK: ld r19, Y ; encoding: [0x38,0x81]47 48; CHECK: ld r10, Z ; encoding: [0xa0,0x80]49; CHECK: ld r2, Z ; encoding: [0x20,0x80]50 51 52; Postincrement53 54; CHECK: ld r10, X+ ; encoding: [0xad,0x90]55; CHECK: ld r17, X+ ; encoding: [0x1d,0x91]56 57; CHECK: ld r30, Y+ ; encoding: [0xe9,0x91]58; CHECK: ld r19, Y+ ; encoding: [0x39,0x91]59 60; CHECK: ld r10, Z+ ; encoding: [0xa1,0x90]61; CHECK: ld r2, Z+ ; encoding: [0x21,0x90]62 63 64; Predecrement65 66; CHECK: ld r10, -X ; encoding: [0xae,0x90]67; CHECK: ld r17, -X ; encoding: [0x1e,0x91]68 69; CHECK: ld r30, -Y ; encoding: [0xea,0x91]70; CHECK: ld r19, -Y ; encoding: [0x3a,0x91]71 72; CHECK: ld r10, -Z ; encoding: [0xa2,0x90]73; CHECK: ld r2, -Z ; encoding: [0x22,0x90]74 75; INST: ld r10, X76; INST: ld r17, X77; INST: ldd r30, Y+078; INST: ldd r19, Y+079; INST: ldd r10, Z+080; INST: ldd r2, Z+081 82; INST: ld r10, X+83; INST: ld r17, X+84; INST: ld r30, Y+85; INST: ld r19, Y+86; INST: ld r10, Z+87; INST: ld r2, Z+88 89; INST: ld r10, -X90; INST: ld r17, -X91; INST: ld r30, -Y92; INST: ld r19, -Y93; INST: ld r10, -Z94; INST: ld r2, -Z95