4 # We use these macros to test each pattern at every offset from
5 # bundle alignment, i.e. [0,16) by 2 or 4.
7 .macro offset_insn insn_name, offset, size
9 \insn_name\()_offset_\offset\():
16 .macro test_offsets_arm insn_name
18 offset_insn \insn_name, 0, 4
19 offset_insn \insn_name, 4, 4
20 offset_insn \insn_name, 8, 4
21 offset_insn \insn_name, 12, 4
24 .macro test_offsets_thumb insn_name
26 offset_insn \insn_name, 0, 2
27 offset_insn \insn_name, 2, 2
28 offset_insn \insn_name, 4, 2
29 offset_insn \insn_name, 6, 2
30 offset_insn \insn_name, 8, 2
31 offset_insn \insn_name, 10, 2
32 offset_insn \insn_name, 12, 2
33 offset_insn \insn_name, 14, 2
47 test_offsets_arm test_arm
48 test_offsets_thumb test_thumb_2
49 test_offsets_thumb test_thumb_4
51 # There are many relaxation cases for Thumb instructions.
52 # But we use as representative the simple branch cases.
63 test_offsets_thumb test_thumb_b_2
64 test_offsets_thumb test_thumb_b_4
66 # This is to set up a branch target surely too far for a short branch.