// RUN: llvm-mc -triple aarch64-elf -filetype=obj %s -o - | llvm-objdump -d - | FileCheck %s

start:
  .space 8
end:
  // CHECK-LABEL: end:

  adds w0, w1, #(end - start)
  adds x0, x1, #(end - start)
  add w0, w1, #(end - start)
  add x0, x1, #(end - start)
  cmp w0, #(end - start)
  cmp x0, #(end - start)
  sub w0, w1, #(end - start)
  sub x0, x1, #(end - start)
  // FIXME: adr x1, #(end - start) // This could be supported, but currently doesn't work
  // CHECK: adds w0, w1, #8
  // CHECK: adds x0, x1, #8
  // CHECK: add w0, w1, #8
  // CHECK: add x0, x1, #8
  // CHECK: cmp w0, #8
  // CHECK: cmp x0, #8
  // CHECK: sub w0, w1, #8
  // CHECK: sub x0, x1, #8
  // FIXME: adr x1, #8

  add w0, w1, #(end - start), lsl #12
  cmp w0, #(end - start), lsl #12
  // CHECK: add w0, w1, #8, lsl #12
  // CHECK: cmp w0, #8, lsl #12

  add w0, w1, #((end - start) >> 2)
  cmp w0, #((end - start) >> 2)
  // CHECK: add w0, w1, #2
  // CHECK: cmp w0, #2

  add w0, w1, #(end - start + 12)
  cmp w0, #(end - start + 12)
  // CHECK: add w0, w1, #20
  // CHECK: cmp w0, #20

  add w0, w1, #(forward - end)
  cmp w0, #(forward - end)
  // CHECK: add w0, w1, #320
  // CHECK: cmp w0, #320

// Add some filler so we don't have to modify #(forward - end) if we add more
// instructions above
.Lfiller:
  .space 320 - (.Lfiller - end)

forward:
  .space 8

.Lstart:
  .space 8
.Lend:
  add w0, w1, #(.Lend - .Lstart)
  cmp w0, #(.Lend - .Lstart)
  // CHECK: add w0, w1, #8
  // CHECK: cmp w0, #8

.Lprivate1:
  .space 8
notprivate:
  .space 8
.Lprivate2:
  add w0, w1, #(.Lprivate2 - .Lprivate1)
  cmp w0, #(.Lprivate2 - .Lprivate1)
  // CHECK: add w0, w1, #16
  // CHECK: cmp w0, #16

  .type foo, @function
foo:
  // CHECK-LABEL: foo:

  add w0, w1, #(foo - .Lprivate2)
  cmp w0, #(foo - .Lprivate2)
  // CHECK: add w0, w1, #8
  // CHECK: cmp w0, #8

  ret

  .type goo, @function
goo:
  // CHECK-LABEL: goo:

  add w0, w1, #(goo - foo)
  cmp w0, #(goo - foo)
  // CHECK: add w0, w1, #12
  // CHECK: cmp w0, #12

  add w0, w1, #(. - goo)
  cmp w0, #(. - goo)
  // CHECK: add w0, w1, #8
  // CHECK: cmp w0, #12

  ret
