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
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
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