1 // RUN
: not llvm-mc
-triple
=aarch64
-show-encoding
-mattr
=+sme-f16f16
2>&1 < %s | FileCheck
%s
2 // --------------------------------------------------------------------------//
3 // Out of range index offset
5 fsub za.d
[w8
, 8, vgx2
], {z0.d-z1.d
}
6 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid matrix operand
, expected suffix
.s
7 // CHECK-NEXT
: fsub za.d
[w8
, 8, vgx2
], {z0.d-z1.d
}
8 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
10 fsub za.s
[w8
, -1, vgx4
], {z0.s-z3.s
}
11 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: immediate must
be an integer in range
[0, 7].
12 // CHECK-NEXT
: fsub za.s
[w8
, -1, vgx4
], {z0.s-z3.s
}
13 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
15 // --------------------------------------------------------------------------//
16 // Invalid vector select register
18 fsub za.h
[w7
, 7, vgx4
], {z0.h-z3.h
}
19 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: operand must
be a register in range
[w8
, w11
]
20 // CHECK-NEXT
: fsub za.h
[w7
, 7, vgx4
], {z0.h-z3.h
}
21 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
23 fsub za.s
[w12
, 7, vgx2
], {z0.s-z1.s
}
24 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: operand must
be a register in range
[w8
, w11
]
25 // CHECK-NEXT
: fsub za.s
[w12
, 7, vgx2
], {z0.s-z1.s
}
26 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
28 // --------------------------------------------------------------------------//
29 // Invalid vector list
31 fsub za.d
[w8
, 0, vgx4
], {z0.d-z4.d
}
32 // CHECK
: [[@LINE-
1]]:{{[0-9]+}}: error
: invalid number of vectors
33 // CHECK-NEXT
: fsub za.d
[w8
, 0, vgx4
], {z0.d-z4.d
}
34 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
36 fsub za.h
[w8
, 0, vgx2
], {z1.h-z2.h
}
37 // 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
38 // CHECK-NEXT
: fsub za.h
[w8
, 0, vgx2
], {z1.h-z2.h
}
39 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}:
41 fsub za.s
[w8
, 0, vgx4
], {z1.s-z4.s
}
42 // 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
43 // CHECK-NEXT
: fsub za.s
[w8
, 0, vgx4
], {z1.s-z4.s
}
44 // CHECK-
NOT: [[@LINE-
1]]:{{[0-9]+}}: