73 lines · plain
1# REQUIRES: aarch642 3# RUN: llvm-mc -filetype=obj -triple=arm64-apple-darwin %s -o %t.o4# RUN: %lld -arch arm64 %t.o -o %t5# RUN: llvm-objdump -d --macho %t | FileCheck %s6 7# CHECK-LABEL: _main:8## Valid9# CHECK-NEXT: adrp x010# CHECK-NEXT: nop11## Mismatched registers12# CHECK-NEXT: adrp x113# CHECK-NEXT: adrp x214## Not on the same page15# CHECK-NEXT: adrp x316# CHECK-NEXT: adrp x317## Not an adrp instruction (invalid)18# CHECK-NEXT: nop19# CHECK-NEXT: adrp x420## Other relaxations take precedence over AdrpAdrp21# CHECK-NEXT: adr x622# CHECK-NEXT: nop23# CHECK-NEXT: adr x624# CHECK-NEXT: nop25 26.text27.align 228 29.globl _main30_main:31L1:32 adrp x0, _foo@PAGE33L2:34 adrp x0, _bar@PAGE35L3:36 adrp x1, _foo@PAGE37L4:38 adrp x2, _bar@PAGE39L5:40 adrp x3, _foo@PAGE41L6:42 adrp x3, _baz@PAGE43L7:44 nop45L8:46 adrp x4, _baz@PAGE47L9:48 adrp x5, _foo@PAGE49L10:50 add x6, x5, _foo@PAGEOFF51L11:52 adrp x5, _bar@PAGE53L12:54 add x6, x5, _bar@PAGEOFF55 56.data57.align 1258_foo:59 .byte 060_bar:61 .byte 062.space 409463_baz:64 .byte 065 66.loh AdrpAdrp L1, L267.loh AdrpAdrp L3, L468.loh AdrpAdrp L5, L669.loh AdrpAdrp L7, L870.loh AdrpAdrp L9, L1171.loh AdrpAdd L9, L1072.loh AdrpAdd L11, L1273