1 .syntax unified 2 .arch armv7-a 3 .thumb 4 .global foo 5 foo: 6 @ldr-immediate 7 8 @!wback && (n == t) 9 ldr r1, [r1, #5] 10 11 @wback && !(n == t) 12 ldr r1, [r2, #5]! 13 14 @!(rt == r15) && rn == r15 15 @ && bits<0..1> (immediate) != 00 16 ldr r1, [r15, #5] 17 18 @rt == r15 && !(rn == r15) 19 @ && bits<0..1> (immediate) != 00 20 ldr r15, [r1, #5] 21 22 @rt == r15 && rn == r15 23 @ && bits<0..1> (immediate) == 00 24 ldr r15, [r15, #4] 25 26 @inITBlock && !(rt == 15) && !lastInITBlock 27 ittt ge 28 ldrge r1, [r15, #4] 29 nopge 30 nopge 31 32 @inITBlock && rt == 15 && lastInITBlock 33 it ge 34 ldrge r15, [r15, #4] 35 36 @ldr-literal 37 38 @inITBlock && !(rt == 15) && !lastInITBlock 39 ittt ge 40 ldrge r1, .-0xab4 41 nopge 42 nopge 43 44 @inITBlock && (rt == 15) && lastInITBlock 45 it ge 46 ldrge r15, .-0xab4 47 48 @!(rt == r15) && bits<0..1> (immediate) != 00 49 ldr r1, .-0xab7 50 51 @rt == r15 && bits<0..1> (immediate) == 00 52 ldr r15, .-0xab4 53 54 @ldr-register 55 56 @inITBlock && !(rt == 15) && !lastInITBlock 57 ittt ge 58 ldrge r1, [r2, r1] 59 nopge 60 nopge 61 62 @inITBlock && (rt == 15) && lastInITBlock 63 it ge 64 ldrge r15, [r2, r1] 65 66 @!(rm == 13 || rm == 15) 67 ldr r1, [r2, r3] 68 69 @str-immediate 70 71 @!(rt == 15 || rn == 15) 72 str r1, [r2, #10] 73 74 @!wback && (n == t) 75 str r1, [r1, #10] 76 77 @wback && !(n == t) 78 str r1, [r2, #10]! 79 80 @str-register 81 82 @!(rt == 15 || rm == 13 || rm == 15) 83 str r1, [r2, r3] 84 85