1// RUN: not llvm-mc -triple aarch64-none-linux-gnu -target-abi=ilp32 \
2// RUN:  < %s 2> %t2 -filetype=obj >/dev/null
3// RUN: FileCheck --check-prefix=CHECK-ERROR %s < %t2
4
5        .xword sym-.
6// CHECK-ERROR: error: ILP32 8 byte PC relative data relocation not supported (LP64 eqv: PREL64)
7// CHECK-ERROR: ^
8
9        .xword sym+16
10// CHECK-ERROR: error: ILP32 8 byte absolute data relocation not supported (LP64 eqv: ABS64)
11// CHECK-ERROR: ^
12
13        movz x7, #:abs_g3:some_label
14// CHECK-ERROR: error: ILP32 absolute MOV relocation not supported (LP64 eqv: MOVW_UABS_G3)
15// CHECK-ERROR:        movz x7, #:abs_g3:some_label
16// CHECK-ERROR:        ^
17
18        movz x3, #:abs_g2:some_label
19// CHECK-ERROR: error: ILP32 absolute MOV relocation not supported (LP64 eqv: MOVW_UABS_G2)
20// CHECK-ERROR: movz x3, #:abs_g2:some_label
21// CHECK-ERROR: ^
22
23        movz x19, #:abs_g2_s:some_label
24// CHECK-ERROR: error: ILP32 absolute MOV relocation not supported (LP64 eqv: MOVW_SABS_G2)
25// CHECK-ERROR: movz x19, #:abs_g2_s:some_label
26// CHECK-ERROR: ^
27
28        movk x5, #:abs_g2_nc:some_label
29// CHECK-ERROR: error: ILP32 absolute MOV relocation not supported (LP64 eqv: MOVW_UABS_G2_NC)
30// CHECK-ERROR: movk x5, #:abs_g2_nc:some_label
31// CHECK-ERROR: ^
32
33        movz x19, #:abs_g1_s:some_label
34// CHECK-ERROR: error: ILP32 absolute MOV relocation not supported (LP64 eqv: MOVW_SABS_G1)
35// CHECK-ERROR: movz x19, #:abs_g1_s:some_label
36// CHECK-ERROR: ^
37
38        movk x5, #:abs_g1_nc:some_label
39// CHECK-ERROR: error: ILP32 absolute MOV relocation not supported (LP64 eqv: MOVW_UABS_G1_NC)
40// CHECK-ERROR: movk x5, #:abs_g1_nc:some_label
41// CHECK-ERROR: ^
42
43        movz x3, #:dtprel_g2:var
44// CHECK-ERROR: error: ILP32 absolute MOV relocation not supported (LP64 eqv: TLSLD_MOVW_DTPREL_G2)
45// CHECK-ERROR: movz x3, #:dtprel_g2:var
46// CHECK-ERROR: ^
47
48        movk x9, #:dtprel_g1_nc:var
49// CHECK-ERROR: error: ILP32 absolute MOV relocation not supported (LP64 eqv: TLSLD_MOVW_DTPREL_G1_NC)
50// CHECK-ERROR: movk x9, #:dtprel_g1_nc:var
51// CHECK-ERROR: ^
52
53        movz x3, #:tprel_g2:var
54// CHECK-ERROR: error: ILP32 absolute MOV relocation not supported (LP64 eqv: TLSLE_MOVW_TPREL_G2)
55// CHECK-ERROR: movz x3, #:tprel_g2:var
56// CHECK-ERROR: ^
57
58        movk x9, #:tprel_g1_nc:var
59// CHECK-ERROR: error: ILP32 absolute MOV relocation not supported (LP64 eqv: TLSLE_MOVW_TPREL_G1_NC)
60// CHECK-ERROR: movk x9, #:tprel_g1_nc:var
61// CHECK-ERROR: ^
62
63        movz x15, #:gottprel_g1:var
64// CHECK-ERROR: error: ILP32 absolute MOV relocation not supported (LP64 eqv: TLSIE_MOVW_GOTTPREL_G1)
65// CHECK-ERROR: movz x15, #:gottprel_g1:var
66// CHECK-ERROR: ^
67
68        movk x13, #:gottprel_g0_nc:var
69// CHECK-ERROR: error: ILP32 absolute MOV relocation not supported (LP64 eqv: TLSIE_MOVW_GOTTPREL_G0_NC)
70// CHECK-ERROR: movk x13, #:gottprel_g0_nc:var
71// CHECK-ERROR: ^
72
73        ldr x10, [x0, #:gottprel_lo12:var]
74// CHECK-ERROR: error: ILP32 64-bit load/store relocation not supported (LP64 eqv: TLSIE_LD64_GOTTPREL_LO12_NC)
75// CHECK-ERROR: ldr x10, [x0, #:gottprel_lo12:var]
76// CHECK-ERROR: ^
77
78   ldr x24, [x23, #:got_lo12:sym]
79// CHECK-ERROR: error: ILP32 64-bit load/store relocation not supported (LP64 eqv: LD64_GOT_LO12_NC)
80// CHECK-ERROR: ^
81
82   ldr x24, [x23, :gottprel_lo12:sym]
83// CHECK-ERROR: error: ILP32 64-bit load/store relocation not supported (LP64 eqv: TLSIE_LD64_GOTTPREL_LO12_NC)
84// CHECK-ERROR: ^
85
86        ldr x10, [x0, #:gottprel_lo12:var]
87// CHECK-ERROR: error: ILP32 64-bit load/store relocation not supported (LP64 eqv: TLSIE_LD64_GOTTPREL_LO12_NC)
88// CHECK-ERROR: ldr x10, [x0, #:gottprel_lo12:var]
89// CHECK-ERROR: ^
90
91   ldr x24, [x23, #:got_lo12:sym]
92// CHECK-ERROR: error: ILP32 64-bit load/store relocation not supported (LP64 eqv: LD64_GOT_LO12_NC)
93// CHECK-ERROR: ^
94
95   ldr x24, [x23, :gottprel_lo12:sym]
96// CHECK-ERROR: error: ILP32 64-bit load/store relocation not supported (LP64 eqv: TLSIE_LD64_GOTTPREL_LO12_NC)
97// CHECK-ERROR: ^
98