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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [binutils-2.20.1/] [ld/] [testsuite/] [ld-arm/] [thumb2-bl-blx-interwork.s] - Rev 818

Compare with Previous | Blame | View Log

	.arch armv7-a
	.global _start
	.syntax unified
	.text
	.thumb
 
	.macro do_calls
	@ The following four instructions are accepted by gas, but generate
	@ meaningless code.
	@bl.w arm0
	@bl.w arm4
	@nop
	@bl.w arm0
	@bl.w arm4
	@nop
	blx.w arm0
	blx.w arm4
	nop
	blx.w arm0
	blx.w arm4
	nop
	bl.w thumb0
	bl.w thumb2
	bl.w thumb4
	bl.w thumb6
	nop
	bl.w thumb0
	bl.w thumb2
	bl.w thumb4
	bl.w thumb6
	nop
	@ These eight are all accepted by gas, but generate bad code.
	@blx.w thumb0
	@blx.w thumb2
	@blx.w thumb4
	@blx.w thumb6
	@nop
	@blx.w thumb0
	@blx.w thumb2
	@blx.w thumb4
	@blx.w thumb6
	.endm
 
	.thumb_func
	.align 3
_start:
	do_calls
 
	.arm
	.align 3
arm0:
	bx lr
 
	.align 3
	nop
arm4:
	bx lr
 
	.thumb
	.thumb_func
	.align 3
thumb0:
	bx lr
 
	.thumb_func
	.align 3
	nop
thumb2:
	bx lr
 
	.thumb_func
	.align 3
	nop
	nop
thumb4:
	bx lr
 
	.thumb_func
	.align 3
	nop
	nop
	nop
thumb6:
	bx lr
 
backwards:
	do_calls
 

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.