brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · 6026be8 Raw
91 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## Out of range, before9# CHECK-NEXT: adrp x010# CHECK-NEXT: add x0, x011## In range, before12# CHECK-NEXT: adr x113# CHECK-NEXT: nop14## Registers don't match (invalid input)15# CHECK-NEXT: adrp x216# CHECK-NEXT: add x017## Not an adrp instruction (invalid input)18# CHECK-NEXT: nop19# CHECK-NEXT: add x420## In range, after21# CHECK-NEXT: adr x522# CHECK-NEXT: nop23## In range, add's destination register is not the same as its source24# CHECK-NEXT: adr x725# CHECK-NEXT: nop26## Valid, non-adjacent instructions - start27# CHECK-NEXT: adr x828## Out of range, after29# CHECK-NEXT: adrp x930# CHECK-NEXT: add x9, x931## Valid, non-adjacent instructions - end32# CHECK-NEXT: nop33 34.text35.align 236_before_far:37  .space 104857638 39_before_near:40  nop41 42.globl _main43_main:44L1:45  adrp x0, _before_far@PAGE46L2:47  add  x0, x0, _before_far@PAGEOFF48L3:49  adrp x1, _before_near@PAGE50L4:51  add  x1, x1, _before_near@PAGEOFF52L5:53  adrp x2, _before_near@PAGE54L6:55  add  x0, x0, _before_near@PAGEOFF56L9:57  nop58L10:59  add  x4, x4, _after_near@PAGEOFF60L11:61  adrp x5, _after_near@PAGE62L12:63  add  x5, x5, _after_near@PAGEOFF64L13:65  adrp x6, _after_near@PAGE66L14:67  add  x7, x6, _after_near@PAGEOFF68L15:69  adrp x8, _after_near@PAGE70L16:71  adrp x9, _after_far@PAGE72L17:73  add  x9, x9, _after_far@PAGEOFF74L18:75  add  x8, x8, _after_near@PAGEOFF76 77_after_near:78  .space 104857679 80_after_far:81  nop82 83.loh AdrpAdd L1, L284.loh AdrpAdd L3, L485.loh AdrpAdd L5, L686.loh AdrpAdd L9, L1087.loh AdrpAdd L11, L1288.loh AdrpAdd L13, L1489.loh AdrpAdd L15, L1890.loh AdrpAdd L16, L1791