Power10 Copy/Paste Extensions
[deliverable/binutils-gdb.git] / gas / testsuite / gas / arm / bundle.s
CommitLineData
fa94de6b
RM
1 .syntax unified
2 .bundle_align_mode 4
3
4# We use these macros to test each pattern at every offset from
5# bundle alignment, i.e. [0,16) by 2 or 4.
6
7.macro offset_insn insn_name, offset, size
8 .p2align 4
9\insn_name\()_offset_\offset\():
10 .rept \offset / \size
11 bkpt
12 .endr
13 \insn_name
14.endm
15
16.macro test_offsets_arm insn_name
17 .arm
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
22.endm
23
24.macro test_offsets_thumb insn_name
25 .thumb
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
34.endm
35
36.macro test_arm
37 add r0, r1
38.endm
39
40.macro test_thumb_2
41 adds r0, r1
42.endm
43.macro test_thumb_4
44 adds r8, r9
45.endm
46
47test_offsets_arm test_arm
48test_offsets_thumb test_thumb_2
49test_offsets_thumb test_thumb_4
50
51# There are many relaxation cases for Thumb instructions.
52# But we use as representative the simple branch cases.
53
54.macro test_thumb_b_2
55 b 0f
56 bkpt 1
570: bkpt 2
58.endm
59.macro test_thumb_b_4
60 b far_target
61.endm
62
63test_offsets_thumb test_thumb_b_2
64test_offsets_thumb test_thumb_b_4
65
66# This is to set up a branch target surely too far for a short branch.
67pad_for_far_target:
68 .rept 1025
69 bkpt 1
70 .endr
71far_target:
72 bkpt 2
73.p2align 4
74 bkpt
This page took 0.370157 seconds and 4 git commands to generate.