Revert r354244 "[DAGCombiner] Eliminate dead stores to stack."
[llvm-complete.git] / test / MC / AArch64 / SVE / lasta-diagnostics.s
blobb153a67f35f6a9fa6858afa72ac7ab1ed911650b
1 // RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve 2>&1 < %s| FileCheck %s
4 // ------------------------------------------------------------------------- //
5 // Invalid predicate
7 lasta w0, p8, z31.b
8 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: restricted predicate has range [0, 7].
9 // CHECK-NEXT: lasta w0, p8, z31.b
10 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
13 // ------------------------------------------------------------------------- //
14 // Invalid element width
16 lasta x0, p7, z31.b
17 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
18 // CHECK-NEXT: lasta x0, p7, z31.b
19 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
21 lasta x0, p7, z31.h
22 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
23 // CHECK-NEXT: lasta x0, p7, z31.h
24 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
26 lasta x0, p7, z31.s
27 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
28 // CHECK-NEXT: lasta x0, p7, z31.s
29 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
31 lasta w0, p7, z31.d
32 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
33 // CHECK-NEXT: lasta w0, p7, z31.d
34 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
36 lasta b0, p7, z31.h
37 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
38 // CHECK-NEXT: lasta b0, p7, z31.h
39 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
41 lasta h0, p7, z31.s
42 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
43 // CHECK-NEXT: lasta h0, p7, z31.s
44 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
46 lasta s0, p7, z31.d
47 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
48 // CHECK-NEXT: lasta s0, p7, z31.d
49 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
51 lasta d0, p7, z31.b
52 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
53 // CHECK-NEXT: lasta d0, p7, z31.b
54 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
57 // --------------------------------------------------------------------------//
58 // Negative tests for instructions that are incompatible with movprfx
60 movprfx z31.d, p7/z, z6.d
61 lasta x0, p7, z31.d
62 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov
63 // CHECK-NEXT: lasta x0, p7, z31.d
64 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
66 movprfx z31, z6
67 lasta x0, p7, z31.d
68 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov
69 // CHECK-NEXT: lasta x0, p7, z31.d
70 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
72 movprfx z31.d, p7/z, z6.d
73 lasta d0, p7, z31.d
74 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov
75 // CHECK-NEXT: lasta d0, p7, z31.d
76 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
78 movprfx z31, z6
79 lasta d0, p7, z31.d
80 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov
81 // CHECK-NEXT: lasta d0, p7, z31.d
82 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: