blob: 3b80125a0a5b0a8453d6e4aa3f8de3aaf084ae9d [file] [log] [blame]
.type foo, %function
.globl foo
foo:
// GOT load
adrp x1, :got:stderr
ldr x0, [x1, :got_lo12:stderr]
// GOT load to x0
adrp x0, :got:stderr
ldr x1, [x0, :got_lo12:stderr]
// GOT load with no register move
adrp x0, :got:stderr
ldr x0, [x0, :got_lo12:stderr]
// Address load
adrp x0, .Llocal_data
add x1, x0, :lo12:.Llocal_data
// Address of local symbol with offset
adrp x10, .Llocal_data2+16
add x11, x10, :lo12:.Llocal_data2+16
// Address load with no-op add instruction
adrp x0, .Llocal_data
add x0, x0, :lo12:.Llocal_data
// armcap
adrp x1, OPENSSL_armcap_P
ldr w2, [x1, :lo12:OPENSSL_armcap_P]
// armcap to w0
adrp x0, OPENSSL_armcap_P
ldr w1, [x1, :lo12:OPENSSL_armcap_P]
// Load from local symbol
adrp x10, .Llocal_data2
ldr q0, [x10, :lo12:.Llocal_data2]
bl local_function
bl remote_function
bl bss_symbol_bss_get
# Regression test for a two-digit index.
ld1 { v1.b }[10], [x9]
local_function:
// BSS data
.type bss_symbol,@object
.section .bss.bss_symbol,"aw",@nobits
bss_symbol:
.word 0
.size bss_symbol, 4