1 // RUN
: llvm-mc
-triple aarch64-none-linux-gnu
-show-encoding
-mattr
=+rcpc3
< %s | FileCheck
%s
2 // RUN
: llvm-mc
-triple aarch64-none-linux-gnu
-show-encoding
-mattr
=+v8.9
a -mattr
=+rcpc3
< %s | FileCheck
%s
3 // RUN
: llvm-mc
-triple aarch64-none-linux-gnu
-show-encoding
-mattr
=+v9.4
a -mattr
=+rcpc3
< %s | FileCheck
%s
5 // RUN
: not llvm-mc
-triple aarch64-none-linux-gnu
< %s
2>&1 | FileCheck
--check-prefix
=ERROR-NO-RCPC3
%s
6 // RUN
: not llvm-mc
-triple aarch64-none-linux-gnu
-mattr
=+v8.9
a < %s
2>&1 | FileCheck
--check-prefix
=ERROR-NO-RCPC3
%s
7 // RUN
: not llvm-mc
-triple aarch64-none-linux-gnu
-mattr
=+v9.4
a < %s
2>&1 | FileCheck
--check-prefix
=ERROR-NO-RCPC3
%s
9 stilp w24
, w0
, [x16
, #-8]!
10 // CHECK
: stilp w24
, w0
, [x16
, #-8]! // encoding: [0x18,0x0a,0x00,0x99]
11 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
12 stilp w24
, w0
, [x16
, -8]!
13 // CHECK
: stilp w24
, w0
, [x16
, #-8]! // encoding: [0x18,0x0a,0x00,0x99]
14 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
15 stilp x25
, x1
, [x17
, -16]!
16 // CHECK
: stilp x25
, x1
, [x17
, #-16]! // encoding: [0x39,0x0a,0x01,0xd9]
17 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
18 stilp x25
, x1
, [x17
, #-16]!
19 // CHECK
: stilp x25
, x1
, [x17
, #-16]! // encoding: [0x39,0x0a,0x01,0xd9]
20 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
22 // CHECK
: stilp w26
, w2
, [x18
] // encoding
: [0x5a,0x1a,0x02,0x99]
23 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
24 stilp w26
, w2
, [x18
, #0]
25 // CHECK
: stilp w26
, w2
, [x18
] // encoding
: [0x5a,0x1a,0x02,0x99]
26 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
28 // CHECK
: stilp x27
, x3
, [sp
] // encoding
: [0xfb,0x1b,0x03,0xd9]
29 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
30 stilp x27
, x3
, [sp
, 0]
31 // CHECK
: stilp x27
, x3
, [sp
] // encoding
: [0xfb,0x1b,0x03,0xd9]
32 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
33 ldiapp w28
, w4
, [x20
], #8
34 // CHECK
: ldiapp w28
, w4
, [x20
], #8 // encoding: [0x9c,0x0a,0x44,0x99]
35 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
36 ldiapp w28
, w4
, [x20
, #0], #8
37 // CHECK
: ldiapp w28
, w4
, [x20
], #8 // encoding: [0x9c,0x0a,0x44,0x99]
38 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
39 ldiapp w28
, w4
, [x20
], 8
40 // CHECK
: ldiapp w28
, w4
, [x20
], #8 // encoding: [0x9c,0x0a,0x44,0x99]
41 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
42 ldiapp w28
, w4
, [x20
, 0], 8
43 // CHECK
: ldiapp w28
, w4
, [x20
], #8 // encoding: [0x9c,0x0a,0x44,0x99]
44 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
45 ldiapp x29
, x5
, [x21
], #16
46 // CHECK
: ldiapp x29
, x5
, [x21
], #16 // encoding: [0xbd,0x0a,0x45,0xd9]
47 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
48 ldiapp x29
, x5
, [x21
], 16
49 // CHECK
: ldiapp x29
, x5
, [x21
], #16 // encoding: [0xbd,0x0a,0x45,0xd9]
50 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
52 // CHECK
: ldiapp w30
, w6
, [sp
] // encoding
: [0xfe,0x1b,0x46,0x99]
53 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
54 ldiapp w30
, w6
, [sp
, #0]
55 // CHECK
: ldiapp w30
, w6
, [sp
] // encoding
: [0xfe,0x1b,0x46,0x99]
56 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
58 // CHECK
: ldiapp xzr
, x7
, [x23
] // encoding
: [0xff,0x1a,0x47,0xd9]
59 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
60 ldiapp xzr
, x7
, [x23
, 0]
61 // CHECK
: ldiapp xzr
, x7
, [x23
] // encoding
: [0xff,0x1a,0x47,0xd9]
62 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
65 // CHECK
: stlr w3
, [x15
, #-4]! // encoding: [0xe3,0x09,0x80,0x99]
66 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
68 // CHECK
: stlr w3
, [x15
, #-4]! // encoding: [0xe3,0x09,0x80,0x99]
69 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
71 // CHECK
: stlr x3
, [x15
, #-8]! // encoding: [0xe3,0x09,0x80,0xd9]
72 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
74 // CHECK
: stlr x3
, [sp
, #-8]! // encoding: [0xe3,0x0b,0x80,0xd9]
75 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
77 // CHECK
: ldapr w3
, [sp
], #4 // encoding: [0xe3,0x0b,0xc0,0x99]
78 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
80 // CHECK
: ldapr w3
, [x15
], #4 // encoding: [0xe3,0x09,0xc0,0x99]
81 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
83 // CHECK
: ldapr x3
, [x15
], #8 // encoding: [0xe3,0x09,0xc0,0xd9]
84 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
86 // CHECK
: ldapr x3
, [x15
], #8 // encoding: [0xe3,0x09,0xc0,0xd9]
87 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
90 // CHECK
: stlur b3
, [x15
, #-1] // encoding: [0xe3,0xf9,0x1f,0x1d]
91 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
93 // CHECK
: stlur h3
, [x15
, #2] // encoding: [0xe3,0x29,0x00,0x5d]
94 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
96 // CHECK
: stlur s3
, [x15
, #-3] // encoding: [0xe3,0xd9,0x1f,0x9d]
97 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
99 // CHECK
: stlur d3
, [sp
, #4] // encoding: [0xe3,0x4b,0x00,0xdd]
100 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
102 // CHECK
: stlur q3
, [x15
, #-5] // encoding: [0xe3,0xb9,0x9f,0x1d]
103 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
105 // CHECK
: ldapur b3
, [x15
, #6] // encoding: [0xe3,0x69,0x40,0x1d]
106 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
107 ldapur h3
, [x15
, #-7]
108 // CHECK
: ldapur h3
, [x15
, #-7] // encoding: [0xe3,0x99,0x5f,0x5d]
109 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
111 // CHECK
: ldapur s3
, [x15
, #8] // encoding: [0xe3,0x89,0x40,0x9d]
112 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
113 ldapur d3
, [x15
, #-9]
114 // CHECK
: ldapur d3
, [x15
, #-9] // encoding: [0xe3,0x79,0x5f,0xdd]
115 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
117 // CHECK
: ldapur q3
, [sp
, #10] // encoding: [0xe3,0xab,0xc0,0x1d]
118 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
120 stl1
{ v3.d
}[0], [x15
]
121 // CHECK
: stl1
{ v3.d
}[0], [x15
] // encoding
: [0xe3,0x85,0x01,0x0d]
122 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
123 stl1
{ v3.d
}[0], [x15
, #0]
124 // CHECK
: stl1
{ v3.d
}[0], [x15
] // encoding
: [0xe3,0x85,0x01,0x0d]
125 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
126 stl1
{ v3.d
}[1], [sp
]
127 // CHECK
: stl1
{ v3.d
}[1], [sp
] // encoding
: [0xe3,0x87,0x01,0x4d]
128 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
129 stl1
{ v3.d
}[1], [sp
, 0]
130 // CHECK
: stl1
{ v3.d
}[1], [sp
] // encoding
: [0xe3,0x87,0x01,0x4d]
131 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
132 ldap1
{ v3.d
}[0], [sp
]
133 // CHECK
: ldap1
{ v3.d
}[0], [sp
] // encoding
: [0xe3,0x87,0x41,0x0d]
134 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
135 ldap1
{ v3.d
}[0], [sp
, #0]
136 // CHECK
: ldap1
{ v3.d
}[0], [sp
] // encoding
: [0xe3,0x87,0x41,0x0d]
137 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
138 ldap1
{ v3.d
}[1], [x15
]
139 // CHECK
: ldap1
{ v3.d
}[1], [x15
] // encoding
: [0xe3,0x85,0x41,0x4d]
140 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3
141 ldap1
{ v3.d
}[1], [x15
, 0]
142 // CHECK
: ldap1
{ v3.d
}[1], [x15
] // encoding
: [0xe3,0x85,0x41,0x4d]
143 // ERROR-NO-RCPC3
: [[@LINE-
2]]:16: error
: instruction requires
: rcpc3