1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2  2>&1 < %s| FileCheck %s
2
3
4// ------------------------------------------------------------------------- //
5// Invalid element width
6
7pmul z0.h, z1.h, z2.h
8// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
9// CHECK-NEXT: pmul z0.h, z1.h, z2.h
10// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
11
12pmul z0.s, z1.s, z2.s
13// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
14// CHECK-NEXT: pmul z0.s, z1.s, z2.s
15// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
16
17pmul z0.d, z1.d, z2.d
18// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
19// CHECK-NEXT: pmul z0.d, z1.d, z2.d
20// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
21
22// --------------------------------------------------------------------------//
23// Negative tests for instructions that are incompatible with movprfx
24
25movprfx z0.b, p0/z, z7.b
26pmul z0.b, z1.b, z31.b
27// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov
28// CHECK-NEXT: pmul z0.b, z1.b, z31.b
29// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
30
31movprfx z0, z7
32pmul z0.b, z1.b, z31.b
33// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov
34// CHECK-NEXT: pmul z0.b, z1.b, z31.b
35// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
36