1 // RUN
: not llvm-mc
-triple
=aarch64
-show-encoding
-mattr
=+sme2
2>&1 < %s | FileCheck
%s
3 // --------------------------------------------------------------------------//
6 sel
{z0.h-z2.h
}, pn8
, {z0.h-z1.h
}, {z0.h-z1.h
}
7 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid operand for instruction
8 // CHECK-NEXT
: sel
{z0.h-z2.h
}, pn8
, {z0.h-z1.h
}, {z0.h-z1.h
}
9 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
11 sel
{z28.s-z31.s
}, pn15
, {z26.s-z31.s
}, {z28.s-z31.s
}
12 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid number of vectors
13 // CHECK-NEXT
: sel
{z28.s-z31.s
}, pn15
, {z26.s-z31.s
}, {z28.s-z31.s
}
14 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
16 sel
{z28.d-z31.d
}, pn15
, {z28.d-z31.d
}, {z26.d-z31.d
}
17 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid number of vectors
18 // CHECK-NEXT
: sel
{z28.d-z31.d
}, pn15
, {z28.d-z31.d
}, {z26.d-z31.d
}
19 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
21 sel
{z1.b-z4.
b}, pn8
, {z0.b-z3.
b}, {z0.b-z3.
b}
22 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: Invalid vector list
, expected list with
4 consecutive SVE vectors
, where the first vector is
a multiple of
4 and with matching element types
23 // CHECK-NEXT
: sel
{z1.b-z4.
b}, pn8
, {z0.b-z3.
b}, {z0.b-z3.
b}
24 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
26 sel
{z22.s-z23.s
}, pn11
, {z13.s-z14.s
}, {z8.s-z9.s
}
27 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: Invalid vector list
, expected list with
2 consecutive SVE vectors
, where the first vector is
a multiple of
2 and with matching element types
28 // CHECK-NEXT
: sel
{z22.s-z23.s
}, pn11
, {z13.s-z14.s
}, {z8.s-z9.s
}
29 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
31 // --------------------------------------------------------------------------//
32 // Invalid Register Suffix
34 sel
{z0.h-z1.h
}, pn8
, {z0.h-z1.h
}, {z0.s-z1.s
}
35 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid operand for instruction
36 // CHECK-NEXT
: sel
{z0.h-z1.h
}, pn8
, {z0.h-z1.h
}, {z0.s-z1.s
}
37 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}: