[AMDGPU] Add commute for some VOP3 inst (#121326)
[llvm-project.git] / llvm / test / MC / AArch64 / armv8.6a-simd-matmul-error.s
blob7a1e9a4de4831428faaae4b49cac87060f5e6d61
1 // RUN: not llvm-mc -triple aarch64 -show-encoding -mattr=+i8mm < %s 2>&1 | FileCheck %s
3 // No interesting edge cases for [US]MMLA, except for the fact that the data
4 // types are fixed (no 64-bit version), and USMMLA exists, but SUMMLA does not.
5 smmla v1.2s, v16.8b, v31.8b
6 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
7 summla v1.4s, v16.16b, v31.16b
8 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: unrecognized instruction mnemonic, did you mean: smmla, ummla, usmmla?
10 // USDOT (vector) has two valid data type combinations, others are rejected.
11 usdot v3.4s, v15.8b, v30.8b
12 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
13 usdot v3.2s, v15.16b, v30.16b
14 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
16 // For USDOT and SUDOT (indexed), the index is in range [0,3] (regardless of data types)
17 usdot v31.2s, v1.8b, v2.4b[4]
18 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3].
19 usdot v31.4s, v1.16b, v2.4b[4]
20 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3].
21 sudot v31.2s, v1.8b, v2.4b[4]
22 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3].
23 sudot v31.4s, v1.16b, v2.4b[4]
24 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3].
26 // The arrangement specifiers of the first two operands must match.
27 usdot v31.4s, v1.8b, v2.4b[0]
28 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
29 usdot v31.2s, v1.16b, v2.4b[0]
30 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
31 sudot v31.4s, v1.8b, v2.4b[0]
32 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
33 sudot v31.2s, v1.16b, v2.4b[0]
34 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction