1 // RUN
: not llvm-mc
-triple
=aarch64
-show-encoding
-mattr
=+sve2p1
2>&1 < %s | FileCheck
%s
3 // --------------------------------------------------------------------------//
4 // Invalid predicate register
6 ld3q
{z0.q
, z1.q
, z2.q
}, p8
/z
, [z0.d
, x0
]
7 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid restricted predicate register
, expected p0.
.p7 (without element suffix)
8 // CHECK-NEXT
: ld3q
{z0.q
, z1.q
, z2.q
}, p8
/z
, [z0.d
, x0
]
9 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
11 ld3q
{z23.q
, z24.q
, z25.q
}, p2
/m
, [x0
, x0
, lsl
#4]
12 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid operand for instruction
13 // CHECK-NEXT
: ld3q
{z23.q
, z24.q
, z25.q
}, p2
/m
, [x0
, x0
, lsl
#4]
14 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
16 ld3q
{z21.q
, z22.q
, z23.q
}, p2.q
, [x10
, x21
, lsl
#4]
17 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid restricted predicate register
, expected p0.
.p7 (without element suffix)
18 // CHECK-NEXT
: ld3q
{z21.q
, z22.q
, z23.q
}, p2.q
, [x10
, x21
, lsl
#4]
19 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
21 // --------------------------------------------------------------------------//
22 // Invalid immediate offset
24 ld3q
{z23.q
, z24.q
, z25.q
}, p3
/z
, [x13
, #-25, mul vl]
25 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: index must
be a multiple of
3 in range
[-24, 21].
26 // CHECK-NEXT
: ld3q
{z23.q
, z24.q
, z25.q
}, p3
/z
, [x13
, #-25, mul vl]
27 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
29 ld3q
{z23.q
, z24.q
, z25.q
}, p3
/z
, [x13
, #22, mul vl]
30 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: index must
be a multiple of
3 in range
[-24, 21].
31 // CHECK-NEXT
: ld3q
{z23.q
, z24.q
, z25.q
}, p3
/z
, [x13
, #22, mul vl]
32 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}: