Commit | Line | Data |
---|---|---|
2c32be70 CM |
1 | .thumb |
2 | .syntax unified | |
3 | .thumb_func | |
4 | thumb2_ldr: | |
53445554 TP |
5 | # These must be encoded into mov.w despite constant and register being |
6 | # small enough as ldr should not generate a flag-setting instruction. | |
2c32be70 CM |
7 | ldr r0,=0x00 |
8 | ldr r1,=0x08 | |
9 | ldr r2,=0x51 | |
10 | ldr r3,=0x1F | |
11 | ldr r4,=0x2F | |
12 | ldr r5,=0x3F | |
13 | ldr r6,=0x80 | |
14 | ldr r7,=0xFF | |
53445554 TP |
15 | # These shall be encoded into mov.w since register cannot be encoded in |
16 | # 3 bits | |
2c32be70 CM |
17 | ldr r8,=0x00 |
18 | ldr r9,=0x08 | |
19 | ldr r10,=0x51 | |
20 | ldr r11,=0x1F | |
21 | ldr r12,=0x2F | |
2c32be70 | 22 | ldr r14,=0x80 |
53445554 TP |
23 | # These shall be encoded into movw since immediate cannot be encoded |
24 | # with mov.w | |
25 | ldr r8,=0xFFFF | |
26 | ldr r9,=0xF0F0 | |
27 | # These should be encoded as ldr since mov immediate is unpredictable | |
28 | # for sp and pc | |
29 | ldr r13,=0x3F | |
2c32be70 | 30 | ldr r15,=0xFF |