Home | History | Annotate | Download | only in arm
      1 @ Tests for ALU group relocations.
      2 
      3 	.text
      4 
      5 	.macro alutest insn sym offset
      6 
      7 	\insn	r0, r0, #:pc_g0:(\sym \offset)
      8 	\insn	r0, r0, #:pc_g1:(\sym \offset)
      9 
     10 @ Try this one without the hash; it should still work.
     11 	\insn	r0, r0, :pc_g2:(\sym \offset)
     12 
     13 	\insn	r0, r0, #:pc_g0_nc:(\sym \offset)
     14 	\insn	r0, r0, #:pc_g1_nc:(\sym \offset)
     15 
     16 	\insn	r0, r0, #:sb_g0:(\sym \offset)
     17 	\insn	r0, r0, #:sb_g1:(\sym \offset)
     18 	\insn	r0, r0, #:sb_g2:(\sym \offset)
     19 
     20 	\insn	r0, r0, #:sb_g0_nc:(\sym \offset)
     21 	\insn	r0, r0, #:sb_g1_nc:(\sym \offset)
     22 
     23 	.endm
     24 
     25 	alutest add f "+ 0x100"
     26 	alutest add localsym "+ 0x100"
     27 	alutest adds f "+ 0x100"
     28 	alutest adds localsym "+ 0x100"
     29 
     30 @ The following should cause the insns to be switched to SUB(S).
     31 
     32 	alutest add f "- 0x100"
     33 	alutest add localsym "- 0x100"
     34 	alutest adds f "- 0x100"
     35 	alutest adds localsym "- 0x100"
     36 
     37 localsym:
     38 	mov	r0, #0
     39 
     40