diff options
Diffstat (limited to 'binutils-2.24/gas/testsuite/gas/aarch64/reloc-insn.s')
-rw-r--r-- | binutils-2.24/gas/testsuite/gas/aarch64/reloc-insn.s | 209 |
1 files changed, 0 insertions, 209 deletions
diff --git a/binutils-2.24/gas/testsuite/gas/aarch64/reloc-insn.s b/binutils-2.24/gas/testsuite/gas/aarch64/reloc-insn.s deleted file mode 100644 index 99ca9659..00000000 --- a/binutils-2.24/gas/testsuite/gas/aarch64/reloc-insn.s +++ /dev/null @@ -1,209 +0,0 @@ -// Test file for AArch64 GAS -- instructions with relocation operators. - -func: - // BFD_RELOC_AARCH64_MOVW_G0 - // immediate - movz x0,#:abs_g0:u12 - - // BFD_RELOC_AARCH64_MOVW_G0_S - // immediate - movz x0,#:abs_g0_s:s12 - - // BFD_RELOC_AARCH64_MOVW_G1 - // immediate - movz x1,#:abs_g1:u32 - movk x1,#:abs_g0_nc:u32 - - // BFD_RELOC_AARCH64_MOVW_G1_S - // immediate - movz x1,#:abs_g1_s:s12 - movk x1,#:abs_g0_nc:s12 - - // BFD_RELOC_AARCH64_MOVW_G2 - // immediate - movz x1,#:abs_g2:u48 - movk x1,#:abs_g1_nc:u48 - movk x1,#:abs_g0_nc:u48 - - // local data (section relative) - movz x1,#:abs_g2:ldata - movk x1,#:abs_g1_nc:ldata - movk x1,#:abs_g0_nc:ldata - - // external data - movz x1,#:abs_g2:xdata - movk x1,#:abs_g1_nc:xdata - movk x1,#:abs_g0_nc:xdata - - // BFD_RELOC_AARCH64_MOVW_G2_S - // immediate - movz x1,#:abs_g2_s:s12 - movk x1,#:abs_g1_nc:s12 - movk x1,#:abs_g0_nc:s12 - - // BFD_RELOC_AARCH64_MOVW_G3 - // immediate - movz x1,#:abs_g3:s12 - movk x1,#:abs_g2_nc:s12 - movk x1,#:abs_g1_nc:s12 - movk x1,#:abs_g0_nc:s12 - - movz x1,#:abs_g3:u64 - movk x1,#:abs_g2_nc:u64 - movk x1,#:abs_g1_nc:u64 - movk x1,#:abs_g0_nc:u64 - - // BFD_RELOC_AARCH64_LD_LO19_PCREL - ldr x0,llit - ldr x1,ldata - ldr x2,xdata+12 - - // BFD_RELOC_AARCH64_ADR_LO21_PCREL - // AARCH64 ADR instruction, holding a simple 21 bit pc-relative byte offset. - adr x0,llit - adr x1,ldata - adr x2,ldata+4088 - adr x3,xlit - adr x4,xdata+16 - adr x5,xdata+4088 - - // BFD_RELOC_AARCH64_ADR_HI21_PCREL - adrp x0,llit - adrp x1,ldata - adrp x2,ldata+4088 - adrp x3,xlit - adrp x4,xdata+16 - adrp x5,xdata+4088 - - // BFD_RELOC_AARCH64_ADR_HI21_PCREL - adrp x0,:pg_hi21:llit - adrp x1,:pg_hi21:ldata - adrp x2,:pg_hi21:ldata+4088 - adrp x3,:pg_hi21:xlit - adrp x4,:pg_hi21:xdata+16 - adrp x5,:pg_hi21:xdata+4088 - - // BFD_RELOC_AARCH64_ADD_LO12 - add x0,x0,#:lo12:llit - add x1,x1,#:lo12:ldata - add x2,x2,#:lo12:ldata+4088 - add x3,x3,#:lo12:xlit - add x4,x4,#:lo12:xdata+16 - add x5,x5,#:lo12:xdata+4088 - add x6,x6,u12 - - // BFD_RELOC_AARCH64_LDST8_LO12 - ldrb w0, [x0, #:lo12:llit] - ldrb w1, [x1, #:lo12:ldata] - ldrb w2, [x2, #:lo12:ldata+4088] - ldrb w3, [x3, #:lo12:xlit] - ldrb w4, [x4, #:lo12:xdata+16] - ldrb w5, [x5, #:lo12:xdata+4088] - ldrb w6, [x6, u12] - - // BFD_RELOC_AARCH64_TSTBR14 - tbz x0,#0,lab - tbz x1,#63,xlab - tbnz x2,#8,lab - tbnz x2,#47,xlab - - // BFD_RELOC_AARCH64_BRANCH19 - b.eq lab - b.eq xlab - - // BFD_RELOC_AARCH64_COMPARE19 - cbz x0,lab - cbnz x30,xlab - - // BFD_RELOC_AARCH64_JUMP26 - b lab - b xlab - - // BFD_RELOC_AARCH64_CALL26 - bl lab - bl xlab - - // BFD_RELOC_AARCH64_MOVW_IMM - movz x0, #0x1234, lsl #48 - movk x0, #0x5678, lsl #32 - movk x0, #0x9abc, lsl #16 - movk x0, #0xdef0, lsl #0 - - movz x0, (u64>>48)&0xffff, lsl #48 - movk x0, (u64>>32)&0xffff, lsl #32 - movk x0, (u64>>16)&0xffff, lsl #16 - movk x0, (u64>>0)&0xffff, lsl #0 - - // BFD_RELOC_AARCH64_BIT_IMM - orr x0,x0,bit1 - and x0,x0,bit2 - and w0,w0,bit2 - - // BFD_RELOC_AARCH64_ADD_U12 - add x0,x0,s12 - add x0,x0,u12 - sub x0,x0,s12 - sub x0,x0,u12 - - // BFD_RELOC_AARCH64_EXC_U16 - svc u16 - - // BFD_RELOC_AARCH64_LDST_I9 - // Signed 9-bit byte offset for load/store single item with writeback options. - // Used internally by the AARCH64 assembler and not (currently) - // written to any object files. - ldr x0,[x1],#s9 - ldr x0,[x1,#s9]! - - // No writeback, but a negative offset should cause this - // to be converted to a LDST_I9 relocation - ldr x0,[x1,#s9] - - // BFD_RELOC_AARCH64_LDST_U12 - // Unsigned 12-bit byte offset for load/store single item without options. - // Used internally by the AARCH64 assembler and not (currently) - // written to any object files. - ldr x0,[x1,#(u12*8)] - - // BFD_RELOC_AARCH64_LDST16_LO12 - ldrh w0, [x0, #:lo12:llit] - // BFD_RELOC_AARCH64_LDST32_LO12 - ldr w1, [x1, #:lo12:ldata] - // BFD_RELOC_AARCH64_LDST64_LO12 - ldr x2, [x2, #:lo12:ldata+4088] - // BFD_RELOC_AARCH64_LDST128_LO12 - ldr q3, [x3, #:lo12:xlit] - - // BFD_RELOC_AARCH64_LDST64_LO12 - prfm pstl1keep, [x7, #:lo12:ldata+4100] - - // BFD_RELOC_AARCH64_GOT_LD_PREL19 - ldr x0, :got:cdata - ldrb w1, [x0] - - ret - -llit: .word 0xdeadf00d - -lab: - - .data - .align 8 - -dummy: .xword 0 - -ldata: .xword 0x1122334455667788 - .space 8184 - -.set u8, 248 -.set s9, -256 -.set s12, -2048 -.set u12, 4095 -.set u16, 65535 -.set u32, 0x12345678 -.set u48, 0xaabbccddeeff -.set u64, 0xfedcba9876543210 -.set bit1,0xf000000000000000 -.set bit2,~0xf - -.comm cdata,1,8 |