brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · 5028791 Raw
99 lines · plain
1// RUN: llvm-mc -triple aarch64-elf -filetype=obj %s -o - | llvm-objdump --no-print-imm-hex -d - | FileCheck %s2 3start:4  .space 85end:6  // CHECK-LABEL: <end>:7 8  adds w0, w1, #(end - start)9  adds x0, x1, #(end - start)10  add w0, w1, #(end - start)11  add x0, x1, #(end - start)12  cmp w0, #(end - start)13  cmp x0, #(end - start)14  sub w0, w1, #(end - start)15  sub x0, x1, #(end - start)16  // FIXME: adr x1, #(end - start) // This could be supported, but currently doesn't work17  // CHECK: adds w0, w1, #818  // CHECK: adds x0, x1, #819  // CHECK: add w0, w1, #820  // CHECK: add x0, x1, #821  // CHECK: cmp w0, #822  // CHECK: cmp x0, #823  // CHECK: sub w0, w1, #824  // CHECK: sub x0, x1, #825  // FIXME: adr x1, #826 27  add w0, w1, #(end - start), lsl #1228  cmp w0, #(end - start), lsl #1229  // CHECK: add w0, w1, #8, lsl #1230  // CHECK: cmp w0, #8, lsl #1231 32  add w0, w1, #((end - start) >> 2)33  cmp w0, #((end - start) >> 2)34  // CHECK: add w0, w1, #235  // CHECK: cmp w0, #236 37  add w0, w1, #(end - start + 12)38  cmp w0, #(end - start + 12)39  // CHECK: add w0, w1, #2040  // CHECK: cmp w0, #2041 42  add w0, w1, #(forward - end)43  cmp w0, #(forward - end)44  // CHECK: add w0, w1, #32045  // CHECK: cmp w0, #32046 47// Add some filler so we don't have to modify #(forward - end) if we add more48// instructions above49.Lfiller:50  .space 320 - (.Lfiller - end)51 52forward:53  .space 854 55.Lstart:56  .space 857.Lend:58  add w0, w1, #(.Lend - .Lstart)59  cmp w0, #(.Lend - .Lstart)60  // CHECK: add w0, w1, #861  // CHECK: cmp w0, #862 63.Lprivate1:64  .space 865notprivate:66  .space 867.Lprivate2:68  add w0, w1, #(.Lprivate2 - .Lprivate1)69  cmp w0, #(.Lprivate2 - .Lprivate1)70  // CHECK: add w0, w1, #1671  // CHECK: cmp w0, #1672 73  .type foo, @function74foo:75  // CHECK-LABEL: <foo>:76 77  add w0, w1, #(foo - .Lprivate2)78  cmp w0, #(foo - .Lprivate2)79  // CHECK: add w0, w1, #880  // CHECK: cmp w0, #881 82  ret83 84  .type goo, @function85goo:86  // CHECK-LABEL: <goo>:87 88  add w0, w1, #(goo - foo)89  cmp w0, #(goo - foo)90  // CHECK: add w0, w1, #1291  // CHECK: cmp w0, #1292 93  add w0, w1, #(. - goo)94  cmp w0, #(. - goo)95  // CHECK: add w0, w1, #896  // CHECK: cmp w0, #1297 98  ret99