48 lines · plain
1# RUN: llvm-mc -triple=aarch64_be-none-linux-gnu -filetype=obj -o %t %s2# RUN: llvm-rtdyld -triple=aarch64_be-none-linux-gnu -verify -dummy-extern f=0x0123456789abcdef -check=%s %t3 4 .globl Q5 .section .dummy, "ax"6Q:7 nop8 9 .text10 .globl g11 .p2align 212 .type g,@function13g:14# R_AARCH64_MOVW_UABS_G315 movz x0, #:abs_g3:f16# R_AARCH64_MOVW_UABS_G2_NC17 movk x0, #:abs_g2_nc:f18# R_AARCH64_MOVW_UABS_G1_NC19 movk x0, #:abs_g1_nc:f20# R_AARCH64_MOVW_UABS_G0_NC21 movk x0, #:abs_g0_nc:f22 ret23 .Lfunc_end0:24 .size g, .Lfunc_end0-g25 26 .type k,@object27 .data28 .globl k29 .p2align 330k:31 .xword f 32 .size k, 833r:34# R_AARCH64_PREL32: use Q instead of f to fit in 32 bits.35 .word Q - .36# R_AARCH64_PREL6437 .p2align 338 .xword f - .39 40# LE instructions read as BE41# rtdyld-check: *{4}(g) = 0x6024e0d242# rtdyld-check: *{4}(g + 4) = 0xe0acc8f243# rtdyld-check: *{4}(g + 8) = 0x6035b1f244# rtdyld-check: *{4}(g + 12) = 0xe0bd99f245# rtdyld-check: *{8}k = f46# rtdyld-check: *{4}r = (Q - r)[31:0]47# rtdyld-check: *{8}(r + 8) = f - r - 848