* elf32-spu.c (build_stub): Fix malloc under-allocation.
[binutils.git] / ld / testsuite / ld-arm / cortex-a8-fix-blx-bcond.s
blobcb40fb44c6bfa4d85a0a2654e3526da931848930
1 .syntax unified
2 .cpu cortex-a8
3 .thumb
4 .text
6 @ expansion 32 bytes
7 .macro bw1
8 1:
9 add.w r0, r1, r2
10 blx.w arm_target
11 add.w r0, r1, r2
12 blx.w arm_target
13 add.w r0, r1, r2
14 blx.w arm_target
15 add.w r0, r1, r2
16 blx.w arm_target
17 .endm
19 @ expansion 128 bytes
20 .macro bw2
21 bw1
22 bw1
23 bw1
24 bw1
25 .endm
27 @ expansion 32 bytes
28 .macro bw3
30 add.w r0, r1, r2
31 bne.w 1b
32 add.w r0, r1, r2
33 bne.w 1b
34 add.w r0, r1, r2
35 bne.w 1b
36 add.w r0, r1, r2
37 bne.w 1b
38 .endm
40 @ expansion 128 bytes
41 .macro bw4
42 bw3
43 bw3
44 bw3
45 bw3
46 .endm
48 .align 3
49 .global _start
51 .thumb
52 .thumb_func
53 .type _start, %function
54 _start:
55 nop
57 @ Trigger Cortex-A8 erratum workaround with b<cond> instructions.
58 bw4
59 bw4
61 nop
63 .rept 957
64 nop.w
65 .endr
67 .arm
68 arm_target:
69 add r3, r4, r5
70 bx lr
72 .thumb
73 bl_insns:
75 nop
77 @ ...and again with bl instructions.
78 bw2
79 bw2
81 bx lr