Home | History | Annotate | Download | only in AArch64
      1 // RUN: not llvm-mc -triple aarch64--none-eabi -filetype obj < %s -o /dev/null 2>&1 | FileCheck %s
      2 
      3 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
      4   adr x0, distant
      5 
      6 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
      7   ldr x0, distant
      8 
      9 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup not sufficiently aligned
     10   ldr x0, unaligned
     11 
     12 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
     13   b.eq distant
     14 
     15 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup not sufficiently aligned
     16   b.eq unaligned
     17 
     18 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
     19   ldr x0, [x1, distant-.]
     20 
     21 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup must be 8-byte aligned
     22   ldr x0, [x1, unaligned-.]
     23 
     24 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
     25   ldr w0, [x1, distant-.]
     26 
     27 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup must be 4-byte aligned
     28   ldr w0, [x1, unaligned-.]
     29 
     30 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
     31   ldrh w0, [x1, distant-.]
     32 
     33 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup must be 2-byte aligned
     34   ldrh w0, [x1, unaligned-.]
     35 
     36 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
     37   ldrb w0, [x1, distant-.]
     38 
     39 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
     40   ldr q0, [x1, distant-.]
     41 
     42 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup must be 16-byte aligned
     43   ldr q0, [x1, unaligned-.]
     44 
     45 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
     46   tbz x0, #1, distant
     47 
     48 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup not sufficiently aligned
     49   tbz x0, #1, unaligned
     50 
     51 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
     52   b distant
     53 
     54 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup not sufficiently aligned
     55   b unaligned
     56 
     57   .byte 0
     58 unaligned:
     59   .byte 0
     60 
     61   .space 1<<27
     62   .balign 8
     63 distant:
     64   .word 0
     65