[Frontend] Remove unused includes (NFC) (#116927)
[llvm-project.git] / llvm / test / MC / AArch64 / SME / streaming-mode-neon-negative.s
blob512906e8a669ae03b6f58f0388c9d97e588b1bbb
1 // RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=-neon,+sme 2>&1 < %s| FileCheck %s
3 // ------------------------------------------------------------------------- //
4 // Check FABD is illegal in streaming mode
6 fabd s0, s1, s2
7 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: neon
8 // CHECK-NEXT: fabd s0, s1, s2
9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
11 // ------------------------------------------------------------------------- //
12 // Check non-scalar v8.6a BFloat16 instructions are illegal in streaming mode
14 bfcvtn v5.4h, v5.4s
15 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: neon
16 // CHECK-NEXT: bfcvtn v5.4h, v5.4s
17 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
19 // ------------------------------------------------------------------------- //
20 // Check non-zero index is illegal in streaming mode
21 // ------------------------------------------------------------------------- //
22 // SMOV 8-bit to 32-bit
24 smov w0, v0.b[1]
25 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: neon
26 // CHECK-NEXT: smov w0, v0.b[1]
27 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
29 smov w0, v0.b[7]
30 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: neon
31 // CHECK-NEXT: smov w0, v0.b[7]
32 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
34 smov w0, v0.b[15]
35 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: neon
36 // CHECK-NEXT: smov w0, v0.b[15]
37 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
39 // ------------------------------------------------------------------------- //
40 // SMOV 8-bit to 64-bit
42 smov x0, v0.b[2]
43 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: neon
44 // CHECK-NEXT: smov x0, v0.b[2]
45 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
47 smov x0, v0.b[6]
48 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: neon
49 // CHECK-NEXT: smov x0, v0.b[6]
50 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
52 smov x0, v0.b[12]
53 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: neon
54 // CHECK-NEXT: smov x0, v0.b[12]
55 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
57 // ------------------------------------------------------------------------- //
58 // SMOV 16-bit to 32-bit
60 smov w0, v0.h[1]
61 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: neon
62 // CHECK-NEXT: smov w0, v0.h[1]
63 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
65 smov w0, v0.h[3]
66 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: neon
67 // CHECK-NEXT: smov w0, v0.h[3]
68 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
70 smov w0, v0.h[7]
71 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: neon
72 // CHECK-NEXT: smov w0, v0.h[7]
73 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
75 // ------------------------------------------------------------------------- //
76 // SMOV 16-bit to 64-bit
78 smov x0, v0.h[2]
79 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: neon
80 // CHECK-NEXT: smov x0, v0.h[2]
81 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
83 smov x0, v0.h[4]
84 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: neon
85 // CHECK-NEXT: smov x0, v0.h[4]
86 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
88 smov x0, v0.h[6]
89 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: neon
90 // CHECK-NEXT: smov x0, v0.h[6]
91 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
93 // ------------------------------------------------------------------------- //
94 // SMOV 32-bit to 64-bit
96 smov x0, v0.s[1]
97 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: neon
98 // CHECK-NEXT: smov x0, v0.s[1]
99 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
101 smov x0, v0.s[2]
102 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: neon
103 // CHECK-NEXT: smov x0, v0.s[2]
104 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
106 smov x0, v0.s[3]
107 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: neon
108 // CHECK-NEXT: smov x0, v0.s[3]
109 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
111 // ------------------------------------------------------------------------- //
112 // UMOV 8-bit to 32-bit
114 umov w0, v0.b[1]
115 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: neon
116 // CHECK-NEXT: umov w0, v0.b[1]
117 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
119 umov w0, v0.b[7]
120 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: neon
121 // CHECK-NEXT: umov w0, v0.b[7]
122 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
124 umov w0, v0.b[15]
125 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: neon
126 // CHECK-NEXT: umov w0, v0.b[15]
127 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
129 // ------------------------------------------------------------------------- //
130 // UMOV 16-bit to 32-bit
132 umov w0, v0.h[1]
133 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: neon
134 // CHECK-NEXT: umov w0, v0.h[1]
135 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
137 umov w0, v0.h[3]
138 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: neon
139 // CHECK-NEXT: umov w0, v0.h[3]
140 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
142 umov w0, v0.h[7]
143 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: neon
144 // CHECK-NEXT: umov w0, v0.h[7]
145 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
148 // ------------------------------------------------------------------------- //
149 // UMOV 32-bit to 32-bit
151 umov w0, v0.s[1]
152 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: neon
153 // CHECK-NEXT: umov w0, v0.s[1]
154 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
156 umov w0, v0.s[2]
157 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: neon
158 // CHECK-NEXT: umov w0, v0.s[2]
159 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
161 umov w0, v0.s[3]
162 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: neon
163 // CHECK-NEXT: umov w0, v0.s[3]
164 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
166 // ------------------------------------------------------------------------- //
167 // UMOV 64-bit to 64-bit
169 umov x0, v0.d[1]
170 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: neon
171 // CHECK-NEXT: umov x0, v0.d[1]
172 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: