OpenCores
URL https://opencores.org/ocsvn/open8_urisc/open8_urisc/trunk

Subversion Repositories open8_urisc

[/] [open8_urisc/] [trunk/] [gnu/] [binutils/] [ld/] [testsuite/] [ld-arm/] [cortex-a8-fix-blx-bcond.s] - Rev 157

Go to most recent revision | Compare with Previous | Blame | View Log

	.syntax unified
	.cpu cortex-a8
	.thumb
	.text
 
	@ expansion 32 bytes
	.macro bw1
1:
	add.w r0, r1, r2
	blx.w arm_target
	add.w r0, r1, r2
	blx.w arm_target
	add.w r0, r1, r2
	blx.w arm_target
	add.w r0, r1, r2
	blx.w arm_target
	.endm
 
	@ expansion 128 bytes
	.macro bw2
	bw1
	bw1
	bw1
	bw1
	.endm
 
	@ expansion 32 bytes
	.macro bw3
1:
	add.w r0, r1, r2
	bne.w 1b
	add.w r0, r1, r2
	bne.w 1b
	add.w r0, r1, r2
	bne.w 1b
	add.w r0, r1, r2
	bne.w 1b
	.endm
 
	@ expansion 128 bytes
	.macro bw4
	bw3
	bw3
	bw3
	bw3
	.endm
 
	.align  3
	.global _start
 
	.thumb
	.thumb_func
	.type   _start, %function
_start:
	nop
 
	@ Trigger Cortex-A8 erratum workaround with b<cond> instructions.
	bw4
	bw4
 
	nop
 
	.rept 957
	nop.w
	.endr
 
	.arm
arm_target:
	add r3, r4, r5
	bx lr
 
	.thumb
bl_insns:
 
	nop
 
	@ ...and again with bl instructions.
	bw2
	bw2
 
	bx      lr
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.