xref: /llvm-project/llvm/test/MC/AArch64/SVE2p1/dupq-diagnostics.s (revision 8f60eee9144cd4178938d231ecccb65c43f78cde)
1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2p1 2>&1 < %s | FileCheck %s
2
3// --------------------------------------------------------------------------//
4// Invalid vector lane index
5
6dupq z0.b, z0.b[16]
7// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 15].
8// CHECK-NEXT: dupq z0.b, z0.b[16]
9// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
10
11dupq z0.b, z0.b[-1]
12// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 15].
13// CHECK-NEXT: dupq z0.b, z0.b[-1]
14// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
15
16dupq z0.h, z0.h[8]
17// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 7].
18// CHECK-NEXT: dupq z0.h, z0.h[8]
19// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
20
21dupq z0.h, z0.h[-1]
22// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 7].
23// CHECK-NEXT: dupq z0.h, z0.h[-1]
24// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
25
26dupq z0.s, z0.s[4]
27// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3].
28// CHECK-NEXT: dupq z0.s, z0.s[4]
29// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
30
31dupq z0.s, z0.s[-1]
32// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3].
33// CHECK-NEXT: dupq z0.s, z0.s[-1]
34// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
35
36dupq z0.d, z0.d[2]
37// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 1].
38// CHECK-NEXT: dupq z0.d, z0.d[2]
39// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
40
41dupq z0.d, z0.d[-1]
42// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 1].
43// CHECK-NEXT: dupq z0.d, z0.d[-1]
44// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
45
46// --------------------------------------------------------------------------//
47// Invalid vector suffix
48
49dupq z0.s, z0.h[2]
50// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
51// CHECK-NEXT: dupq z0.s, z0.h[2]
52// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
53