1 // RUN
: not llvm-mc
-triple aarch64-none-linux-gnu
-show-encoding
-mattr
=+v8.4
a < %s
2>&1 | FileCheck
%s
--check-prefix
=CHECK-ERROR
3 //------------------------------------------------------------------------------
4 // Armv8.4
-A LDAPR
and STLR instructions with immediate offsets
5 //------------------------------------------------------------------------------
11 STLURB W1
, [X10
, #-257]
12 stlurb w2
, [x11
, #256]
13 STLURB W3
, [SP
, #-257]
15 ldapurb w4
, [x12
, #-257]
16 LDAPURB W5
, [X13
, #256]
17 LDAPURB W6
, [SP
, #256]
19 LDAPURSB W7
, [X14
, #-257]
20 ldapursb w8
, [x15
, #256]
21 ldapursb w9
, [sp
, #-257]
23 LDAPURSB X0
, [X16
, #-257]
24 LDAPURSB X1
, [X17
, #256]
25 ldapursb x2
, [sp
, #256]
27 stlurh w10
, [x18
, #-257]
28 STLURH W11
, [X19
, #256]
29 STLURH W12
, [SP
, #-257]
31 LDAPURH W13
, [X20
, #-257]
32 ldapurh w14
, [x21
, #256]
33 LDAPURH W15
, [SP
, #256]
35 LDAPURSH W16
, [X22
, #-257]
36 LDAPURSH W17
, [X23
, #256]
37 ldapursh w18
, [sp
, #-257]
39 ldapursh x3
, [x24
, #-257]
40 LDAPURSH X4
, [X25
, #256]
41 LDAPURSH X5
, [SP
, #256]
43 STLUR W19
, [X26
, #-257]
44 stlur w20
, [x27
, #256]
45 STLUR W21
, [SP
, #-257]
47 LDAPUR W22
, [X28
, #-257]
48 LDAPUR W23
, [X29
, #256]
49 ldapur w24
, [sp
, #256]
51 ldapursw x6
, [x30
, #-257]
52 LDAPURSW X7
, [X0
, #256]
53 LDAPURSW X8
, [SP
, #-257]
59 LDAPUR X12
, [X3
, #-257]
60 LDAPUR X13
, [X4
, #256]
61 ldapur x14
, [sp
, #-257]
63 //CHECK-ERROR
: error
: invalid operand for instruction
64 //CHECK-ERROR-NEXT
: STLURB SP
, [X1
, #1]
66 //CHECK-ERROR-NEXT
: error
: invalid operand for instruction
67 //CHECK-ERROR-NEXT
: ldapurb SP
, [x12
, #1]
69 //CHECK-ERROR-NEXT
: error
: invalid operand for instruction
70 //CHECK-ERROR-NEXT
: STLURB W1
, [XZR
, #1]
72 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
73 //CHECK-ERROR-NEXT
: STLURB W1
, [X10
, #-257]
75 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
76 //CHECK-ERROR-NEXT
: stlurb w2
, [x11
, #256]
78 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
79 //CHECK-ERROR-NEXT
: STLURB W3
, [SP
, #-257]
81 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
82 //CHECK-ERROR-NEXT
: ldapurb w4
, [x12
, #-257]
84 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
85 //CHECK-ERROR-NEXT
: LDAPURB W5
, [X13
, #256]
87 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
88 //CHECK-ERROR-NEXT
: LDAPURB W6
, [SP
, #256]
90 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
91 //CHECK-ERROR-NEXT
: LDAPURSB W7
, [X14
, #-257]
93 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
94 //CHECK-ERROR-NEXT
: ldapursb w8
, [x15
, #256]
96 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
97 //CHECK-ERROR-NEXT
: ldapursb w9
, [sp
, #-257]
99 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
100 //CHECK-ERROR-NEXT
: LDAPURSB X0
, [X16
, #-257]
101 //CHECK-ERROR-NEXT
: ^
102 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
103 //CHECK-ERROR-NEXT
: LDAPURSB X1
, [X17
, #256]
104 //CHECK-ERROR-NEXT
: ^
105 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
106 //CHECK-ERROR-NEXT
: ldapursb x2
, [sp
, #256]
107 //CHECK-ERROR-NEXT
: ^
108 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
109 //CHECK-ERROR-NEXT
: stlurh w10
, [x18
, #-257]
110 //CHECK-ERROR-NEXT
: ^
111 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
112 //CHECK-ERROR-NEXT
: STLURH W11
, [X19
, #256]
113 //CHECK-ERROR-NEXT
: ^
114 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
115 //CHECK-ERROR-NEXT
: STLURH W12
, [SP
, #-257]
116 //CHECK-ERROR-NEXT
: ^
117 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
118 //CHECK-ERROR-NEXT
: LDAPURH W13
, [X20
, #-257]
119 //CHECK-ERROR-NEXT
: ^
120 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
121 //CHECK-ERROR-NEXT
: ldapurh w14
, [x21
, #256]
122 //CHECK-ERROR-NEXT
: ^
123 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
124 //CHECK-ERROR-NEXT
: LDAPURH W15
, [SP
, #256]
125 //CHECK-ERROR-NEXT
: ^
126 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
127 //CHECK-ERROR-NEXT
: LDAPURSH W16
, [X22
, #-257]
128 //CHECK-ERROR-NEXT
: ^
129 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
130 //CHECK-ERROR-NEXT
: LDAPURSH W17
, [X23
, #256]
131 //CHECK-ERROR-NEXT
: ^
132 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
133 //CHECK-ERROR-NEXT
: ldapursh w18
, [sp
, #-257]
134 //CHECK-ERROR-NEXT
: ^
135 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
136 //CHECK-ERROR-NEXT
: ldapursh x3
, [x24
, #-257]
137 //CHECK-ERROR-NEXT
: ^
138 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
139 //CHECK-ERROR-NEXT
: LDAPURSH X4
, [X25
, #256]
140 //CHECK-ERROR-NEXT
: ^
141 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
142 //CHECK-ERROR-NEXT
: LDAPURSH X5
, [SP
, #256]
143 //CHECK-ERROR-NEXT
: ^
144 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
145 //CHECK-ERROR-NEXT
: STLUR W19
, [X26
, #-257]
146 //CHECK-ERROR-NEXT
: ^
147 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
148 //CHECK-ERROR-NEXT
: stlur w20
, [x27
, #256]
149 //CHECK-ERROR-NEXT
: ^
150 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
151 //CHECK-ERROR-NEXT
: STLUR W21
, [SP
, #-257]
152 //CHECK-ERROR-NEXT
: ^
153 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
154 //CHECK-ERROR-NEXT
: LDAPUR W22
, [X28
, #-257]
155 //CHECK-ERROR-NEXT
: ^
156 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
157 //CHECK-ERROR-NEXT
: LDAPUR W23
, [X29
, #256]
158 //CHECK-ERROR-NEXT
: ^
159 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
160 //CHECK-ERROR-NEXT
: ldapur w24
, [sp
, #256]
161 //CHECK-ERROR-NEXT
: ^
162 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
163 //CHECK-ERROR-NEXT
: ldapursw x6
, [x30
, #-257]
164 //CHECK-ERROR-NEXT
: ^
165 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
166 //CHECK-ERROR-NEXT
: LDAPURSW X7
, [X0
, #256]
167 //CHECK-ERROR-NEXT
: ^
168 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
169 //CHECK-ERROR-NEXT
: LDAPURSW X8
, [SP
, #-257]
170 //CHECK-ERROR-NEXT
: ^
171 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
172 //CHECK-ERROR-NEXT
: STLUR X9
, [X1
, #-257]
173 //CHECK-ERROR-NEXT
: ^
174 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
175 //CHECK-ERROR-NEXT
: stlur x10
, [x2
, #256]
176 //CHECK-ERROR-NEXT
: ^
177 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
178 //CHECK-ERROR-NEXT
: STLUR X11
, [SP
, #256]
179 //CHECK-ERROR-NEXT
: ^
180 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
181 //CHECK-ERROR-NEXT
: LDAPUR X12
, [X3
, #-257]
182 //CHECK-ERROR-NEXT
: ^
183 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
184 //CHECK-ERROR-NEXT
: LDAPUR X13
, [X4
, #256]
185 //CHECK-ERROR-NEXT
: ^
186 //CHECK-ERROR-NEXT
: error
: index must
be an integer in range
[-256, 255].
187 //CHECK-ERROR-NEXT
: ldapur x14
, [sp
, #-257]
188 //CHECK-ERROR-NEXT
: ^