Home | History | Annotate | Download | only in testsuite
      1 # thumb_bl_out_of_range_local.s
      2 # Test THUMB/THUMB-2 bl instructions just out of the branch range limits
      3 # and with local branch targets.
      4 	.syntax	unified
      5 
      6 	.section	.text.pre,"x"
      7 
      8 # Add padding so that target is just output of branch range.
      9 	.space	6
     10 
     11 	.code	16
     12 	.thumb_func
     13 	.type	.Lbackward_target, %function
     14 .Lbackward_target:
     15 	bx	lr
     16 	.size	.Lbackward_target, .-.Lbackward_target
     17 
     18 	.text
     19 # Use 256-byte alignment so that we know where the stubs start.
     20 	.align	8
     21 
     22 # Define _start so that linker does not complain.
     23 	.global	_start
     24 	.code	32
     25 	.align	2
     26 	.type	_start, %function
     27 _start:
     28 	bx	lr
     29 	.size	_start, .-_start
     30 
     31 	.global	_backward_test
     32 	.code	16
     33 	.thumb_func
     34 	.type	_backward_test, %function
     35 _backward_test:
     36 	bl	.Lbackward_target
     37 	.size	_backward_test, .-_backward_test
     38 
     39 	.global	_forward_test
     40 	.code	16
     41 	.thumb_func
     42 	.type	_forward_test, %function
     43 _forward_test:
     44 	bl	.Lforward_target
     45 	.size	_forward_test, .-_forward_test
     46 
     47 # Switch back to ARM mode so that we can see stubs
     48 	.code	32
     49 	nop
     50 
     51 	.section	.text.post,"x"
     52 
     53 # Add padding so that target is just out of branch range.
     54 	.space	12
     55 
     56 	.code	16
     57 	.thumb_func
     58 	.type	.Lforward_target, %function
     59 .Lforward_target:
     60 	bx	lr
     61 	.size	.Lforward_target, .-.Lforward_target
     62