1 .syntax unified 2 .cpu cortex-m4 3 .fpu fpv4-sp-d16 4 .text 5 .align 1 6 .thumb 7 .thumb_func 8 .global _start 9_start: 10 @ Create a situation where a multiple-load that should be 11 @ patched belongs to an IT block in the position where it can 12 @ be, that is the last position in the IT block. 13 @ Mostly to cover the IT detection logic. 14 @ Tests correspond to LDM CASE #1. 15 it eq 16 ldmeq.w r9, {r1-r9} 17 18 itt eq 19 nop.w 20 ldmeq.w r9, {r1-r9} 21 22 ite eq 23 nop.w 24 ldmne.w r9, {r1-r9} 25 26 ittt eq 27 nop.w 28 nop.w 29 ldmeq.w r9, {r1-r9} 30 31 itet eq 32 nop.w 33 nop.w 34 ldmeq.w r9, {r1-r9} 35 36 itte eq 37 nop.w 38 nop.w 39 ldmne.w r9, {r1-r9} 40 41 itee eq 42 nop.w 43 nop.w 44 ldmne.w r9, {r1-r9} 45 46 itttt eq 47 nop.w 48 nop.w 49 nop.w 50 ldmeq.w r9, {r1-r9} 51 52 ittte eq 53 nop.w 54 nop.w 55 nop.w 56 ldmne.w r9, {r1-r9} 57 58 ittet eq 59 nop.w 60 nop.w 61 nop.w 62 ldmeq.w r9, {r1-r9} 63 64 ittee eq 65 nop.w 66 nop.w 67 nop.w 68 ldmne.w r9, {r1-r9} 69 70 itett eq 71 nop.w 72 nop.w 73 nop.w 74 ldmeq.w r9, {r1-r9} 75 76 itete eq 77 nop.w 78 nop.w 79 nop.w 80 ldmne.w r9, {r1-r9} 81 82 iteet eq 83 nop.w 84 nop.w 85 nop.w 86 ldmeq.w r9, {r1-r9} 87 88 iteee eq 89 nop.w 90 nop.w 91 nop.w 92 ldmne.w r9, {r1-r9} 93