[Frontend] Remove unused includes (NFC) (#116927)
[llvm-project.git] / llvm / test / MC / AArch64 / SME2p2 / fmul-diagnostics.s
blob2fdd3f82adc1ddd05b371ac4826b33fc0d2ae30d
2 // RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2p2 2>&1 < %s| FileCheck %s
4 // Multiple and single, 2 regs
6 fmul {z0.b-z1.b}, {z0.h-z1.h}, z0.h
7 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
9 fmul {z1.s-z2.s}, {z0.s-z1.s}, z0.s
10 // 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
12 fmul {z0.d-z2.d}, {z0.d-z1.d}, z0.d
13 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
15 fmul {z0.h-z1.h}, {z0.b-z1.b}, z0.h
16 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
18 fmul {z0.s-z1.s}, {z1.s-z2.s}, z0.s
19 // 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
21 fmul {z0.d-z1.d}, {z0.d-z2.d}, z0.d
22 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
24 fmul {z0.h-z1.h}, {z0.h-z1.h}, z0.b
25 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected z0.h..z15.h
27 fmul {z0.s-z1.s}, {z0.s-z1.s}, z16.s
28 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected z0.s..z15.s
30 // Multiple and single, 4 regs
32 fmul {z0.b-z3.b}, {z0.h-z3.h}, z0.h
33 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
35 fmul {z1.s-z3.s}, {z0.h-z3.h}, z0.s
36 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
38 fmul {z0.d-z4.d}, {z0.d-z3.d}, z0.d
39 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid number of vectors
41 fmul {z0.h-z3.h}, {z0.b-z3.b}, z0.h
42 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
44 fmul {z0.s-z3.s}, {z1.s-z3.s}, z0.s
45 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
47 fmul {z0.d-z3.d}, {z0.d-z4.d}, z0.d
48 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid number of vectors
50 fmul {z0.h-z3.h}, {z0.h-z3.h}, z0.b
51 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected z0.h..z15.h
53 fmul {z0.s-z3.s}, {z0.s-z3.s}, z16.s
54 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected z0.s..z15.s
56 // Multiple, 2 regs
58 fmul {z0.b-z1.b}, {z0.h-z1.h}, {z0.h-z1.h}
59 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
61 fmul {z1.s-z2.s}, {z0.s-z1.s}, {z0.s-z1.s}
62 // 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
64 fmul {z0.d-z2.d}, {z0.d-z1.d}, {z0.d-z1.d}
65 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
67 fmul {z0.h-z1.h}, {z0.b-z1.b}, {z0.h-z1.h}
68 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
70 fmul {z0.s-z1.s}, {z1.s-z2.s}, {z0.s-z1.s}
71 // 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
73 fmul {z0.d-z1.d}, {z0.d-z2.d}, {z0.d-z1.d}
74 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
76 fmul {z0.h-z1.h}, {z0.h-z1.h}, {z0.b-z1.b}
77 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
79 fmul {z0.s-z1.s}, {z0.s-z1.s}, {z1.s-z2.s}
80 // 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
82 fmul {z0.d-z1.d}, {z0.d-z1.d}, {z0.d-z2.d}
83 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
85 // Multiple, 4 regs
87 fmul {z0.b-z3.b}, {z0.h-z3.h}, {z0.h-z3.h}
88 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
90 fmul {z1.s-z3.s}, {z0.s-z3.s}, {z0.s-z3.s}
91 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
93 fmul {z0.d-z4.d}, {z0.d-z3.d}, {z0.d-z3.d}
94 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid number of vectors
96 fmul {z0.h-z3.h}, {z0.b-z3.b}, {z0.h-z3.h}
97 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
99 fmul {z0.s-z3.s}, {z1.s-z3.s}, {z0.s-z3.s}
100 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
102 fmul {z0.d-z3.d}, {z0.d-z4.d}, {z0.d-z3.d}
103 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid number of vectors
105 fmul {z0.h-z3.h}, {z0.h-z3.h}, {z0.b-z3.b}
106 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
108 fmul {z0.s-z3.s}, {z0.s-z3.s}, {z1.s-z3.s}
109 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
111 fmul {z0.d-z3.d}, {z0.d-z3.d}, {z0.d-z4.d}
112 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid number of vectors