| .syntax unified |
| |
| .thumb |
| .global foo |
| foo: |
| @ldr-immediate |
| |
| @!wback && (n == t) |
| ldr r1, [r1, #5] |
| |
| @wback && !(n == t) |
| ldr r1, [r2, #5]! |
| |
| @!(rt == r15) && rn == r15 |
| @ && bits<0..1> (immediate) != 00 |
| ldr r1, [r15, #5] |
| |
| @rt == r15 && !(rn == r15) |
| @ && bits<0..1> (immediate) != 00 |
| ldr r15, [r1, #5] |
| |
| @rt == r15 && rn == r15 |
| @ && bits<0..1> (immediate) == 00 |
| ldr r15, [r15, #4] |
| |
| @inITBlock && !(rt == 15) && !lastInITBlock |
| ittt ge |
| ldrge r1, [r15, #4] |
| nopge |
| nopge |
| |
| @inITBlock && rt == 15 && lastInITBlock |
| it ge |
| ldrge r15, [r15, #4] |
| |
| @ldr-literal |
| |
| @inITBlock && !(rt == 15) && !lastInITBlock |
| ittt ge |
| ldrge r1, .-0xab4 |
| nopge |
| nopge |
| |
| @inITBlock && (rt == 15) && lastInITBlock |
| it ge |
| ldrge r15, .-0xab4 |
| |
| @!(rt == r15) && bits<0..1> (immediate) != 00 |
| ldr r1, .-0xab7 |
| |
| @rt == r15 && bits<0..1> (immediate) == 00 |
| ldr r15, .-0xab4 |
| |
| @ldr-register |
| |
| @inITBlock && !(rt == 15) && !lastInITBlock |
| ittt ge |
| ldrge r1, [r2, r1] |
| nopge |
| nopge |
| |
| @inITBlock && (rt == 15) && lastInITBlock |
| it ge |
| ldrge r15, [r2, r1] |
| |
| @!(rm == 13 || rm == 15) |
| ldr r1, [r2, r3] |
| |
| @str-immediate |
| |
| @!(rt == 15 || rn == 15) |
| str r1, [r2, #10] |
| |
| @!wback && (n == t) |
| str r1, [r1, #10] |
| |
| @wback && !(n == t) |
| str r1, [r2, #10]! |
| |
| @str-register |
| |
| @!(rt == 15 || rm == 13 || rm == 15) |
| str r1, [r2, r3] |
| |