1 @ RUN
: llvm-mc
-mcpu
=cortex-a8
-triple armv7
-show-encoding
< %s | FileCheck
%s
4 ldr
r0, [r0, r0, lsr
#32]
5 ldr
r0, [r0, r0, lsr
#16]
6 ldr
r0, [r0, r0, lsl
#0]
7 ldr
r0, [r0, r0, lsl
#16]
8 ldr
r0, [r0, r0, asr
#32]
9 ldr
r0, [r0, r0, asr
#16]
11 ldr
r0, [r0, r0, ror
#16]
13 @ CHECK
: ldr
r0, [r0, r0] @ encoding
: [0x00,0x00,0x90,0xe7]
14 @ CHECK
: ldr
r0, [r0, r0, lsr
#32] @ encoding: [0x20,0x00,0x90,0xe7]
15 @ CHECK
: ldr
r0, [r0, r0, lsr
#16] @ encoding: [0x20,0x08,0x90,0xe7]
16 @ CHECK
: ldr
r0, [r0, r0] @ encoding
: [0x00,0x00,0x90,0xe7]
17 @ CHECK
: ldr
r0, [r0, r0, lsl
#16] @ encoding: [0x00,0x08,0x90,0xe7]
18 @ CHECK
: ldr
r0, [r0, r0, asr
#32] @ encoding: [0x40,0x00,0x90,0xe7]
19 @ CHECK
: ldr
r0, [r0, r0, asr
#16] @ encoding: [0x40,0x08,0x90,0xe7]
20 @ CHECK
: ldr
r0, [r0, r0, rrx
] @ encoding
: [0x60,0x00,0x90,0xe7]
21 @ CHECK
: ldr
r0, [r0, r0, ror
#16] @ encoding: [0x60,0x08,0x90,0xe7]
33 @ CHECK
: [r0, r0] @ encoding
: [0x00,0xf0,0xd0,0xf7]
34 @ CHECK
: [r0, r0, lsr
#32] @ encoding: [0x20,0xf0,0xd0,0xf7]
35 @ CHECK
: [r0, r0, lsr
#16] @ encoding: [0x20,0xf8,0xd0,0xf7]
36 @ CHECK
: [r0, r0] @ encoding
: [0x00,0xf0,0xd0,0xf7]
37 @ CHECK
: [r0, r0, lsl
#16] @ encoding: [0x00,0xf8,0xd0,0xf7]
38 @ CHECK
: [r0, r0, asr
#32] @ encoding: [0x40,0xf0,0xd0,0xf7]
39 @ CHECK
: [r0, r0, asr
#16] @ encoding: [0x40,0xf8,0xd0,0xf7]
40 @ CHECK
: [r0, r0, rrx
] @ encoding
: [0x60,0xf0,0xd0,0xf7]
41 @ CHECK
: [r0, r0, ror
#16] @ encoding: [0x60,0xf8,0xd0,0xf7]
44 str
r0, [r0, r0, lsr
#32]
45 str
r0, [r0, r0, lsr
#16]
46 str
r0, [r0, r0, lsl
#0]
47 str
r0, [r0, r0, lsl
#16]
48 str
r0, [r0, r0, asr
#32]
49 str
r0, [r0, r0, asr
#16]
51 str
r0, [r0, r0, ror
#16]
53 @ CHECK
: str
r0, [r0, r0] @ encoding
: [0x00,0x00,0x80,0xe7]
54 @ CHECK
: str
r0, [r0, r0, lsr
#32] @ encoding: [0x20,0x00,0x80,0xe7]
55 @ CHECK
: str
r0, [r0, r0, lsr
#16] @ encoding: [0x20,0x08,0x80,0xe7]
56 @ CHECK
: str
r0, [r0, r0] @ encoding
: [0x00,0x00,0x80,0xe7]
57 @ CHECK
: str
r0, [r0, r0, lsl
#16] @ encoding: [0x00,0x08,0x80,0xe7]
58 @ CHECK
: str
r0, [r0, r0, asr
#32] @ encoding: [0x40,0x00,0x80,0xe7]
59 @ CHECK
: str
r0, [r0, r0, asr
#16] @ encoding: [0x40,0x08,0x80,0xe7]
60 @ CHECK
: str
r0, [r0, r0, rrx
] @ encoding
: [0x60,0x00,0x80,0xe7]
61 @ CHECK
: str
r0, [r0, r0, ror
#16] @ encoding: [0x60,0x08,0x80,0xe7]
63 @ Uses printAddrMode2OffsetOperand
(), used by LDRBT_POST_IMM LDRBT_POST_REG
64 @ LDRB_POST_IMM LDRB_POST_REG LDRT_POST_IMM LDRT_POST_REG LDR_POST_IMM
65 @ LDR_POST_REG STRBT_POST_IMM STRBT_POST_REG STRB_POST_IMM STRB_POST_REG
66 @ STRT_POST_IMM STRT_POST_REG STR_POST_IMM STR_POST_REG
69 ldr
r3, [r4], r5, ror
#0
70 str
r6, [r7], r8, lsl
#0
73 @ CHECK
: ldr
r0, [r1], r2, rrx @ encoding
: [0x62,0x00,0x91,0xe6]
74 @ CHECK
: ldr
r3, [r4], r5 @ encoding
: [0x05,0x30,0x94,0xe6]
75 @ CHECK
: str
r6, [r7], r8 @ encoding
: [0x08,0x60,0x87,0xe6]
76 @ CHECK
: str
r9, [r10], r11 @ encoding
: [0x0b,0x90,0x8a,0xe6]
78 @ Uses printSORegImmOperand
(), used by ADCrsi ADDrsi ANDrsi BICrsi EORrsi
79 @ ORRrsi RSBrsi RSCrsi SBCrsi SUBrsi CMNzrsi CMPrsi MOVsi MVNsi TEQrsi TSTrsi
82 adc
r1, r8, r9, lsr
#32
83 adc
r2, r7, pc
, lsr
#16
84 adc
r3, r6, r10, lsl
#0
85 adc
r4, r5, lr, lsl
#16
86 adc
r5, r4, r11, asr
#32
87 adc
r6, r3, sp
, asr
#16
89 adc
r8, r1, r0, ror
#16
91 @ CHECK
: adc sp
, lr, pc @ encoding
: [0x0f,0xd0,0xae,0xe0]
92 @ CHECK
: adc
r1, r8, r9, lsr
#32 @ encoding: [0x29,0x10,0xa8,0xe0]
93 @ CHECK
: adc
r2, r7, pc
, lsr
#16 @ encoding: [0x2f,0x28,0xa7,0xe0]
94 @ CHECK
: adc
r3, r6, r10 @ encoding
: [0x0a,0x30,0xa6,0xe0]
95 @ CHECK
: adc
r4, r5, lr, lsl
#16 @ encoding: [0x0e,0x48,0xa5,0xe0]
96 @ CHECK
: adc
r5, r4, r11, asr
#32 @ encoding: [0x4b,0x50,0xa4,0xe0]
97 @ CHECK
: adc
r6, r3, sp
, asr
#16 @ encoding: [0x4d,0x68,0xa3,0xe0]
98 @ CHECK
: adc
r7, r2, r12, rrx @ encoding
: [0x6c,0x70,0xa2,0xe0]
99 @ CHECK
: adc
r8, r1, r0, ror
#16 @ encoding: [0x60,0x88,0xa1,0xe0]
111 @ CHECK
: cmp sp
, lr @ encoding
: [0x0e,0x00,0x5d,0xe1]
112 @ CHECK
: cmp r1, r8, lsr
#32 @ encoding: [0x28,0x00,0x51,0xe1]
113 @ CHECK
: cmp r2, r7, lsr
#16 @ encoding: [0x27,0x08,0x52,0xe1]
114 @ CHECK
: cmp r3, r6 @ encoding
: [0x06,0x00,0x53,0xe1]
115 @ CHECK
: cmp r4, r5, lsl
#16 @ encoding: [0x05,0x08,0x54,0xe1]
116 @ CHECK
: cmp r5, r4, asr
#32 @ encoding: [0x44,0x00,0x55,0xe1]
117 @ CHECK
: cmp r6, r3, asr
#16 @ encoding: [0x43,0x08,0x56,0xe1]
118 @ CHECK
: cmp r7, r2, rrx @ encoding
: [0x62,0x00,0x57,0xe1]
119 @ CHECK
: cmp r8, r1, ror
#16 @ encoding: [0x61,0x08,0x58,0xe1]