[ARM] Better OR's for MVE compares
[llvm-core.git] / test / MC / AArch64 / SVE / decp-diagnostics.s
blob947970e3fb866267f4a80c8b731ac612ce204d9d
1 // RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve 2>&1 < %s| FileCheck %s
3 // ------------------------------------------------------------------------- //
4 // Invalid result register
6 decp sp, p0
7 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand
8 // CHECK-NEXT: decp sp, p0
9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
11 decp z0.b, p0
12 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
13 // CHECK-NEXT: decp z0.b, p0
14 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
17 // ------------------------------------------------------------------------- //
18 // Invalid predicate operand
20 decp x0, p0
21 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate register
22 // CHECK-NEXT: decp x0, p0
23 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
25 decp x0, p0/z
26 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate register
27 // CHECK-NEXT: decp x0, p0/z
28 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
30 decp x0, p0/m
31 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate register
32 // CHECK-NEXT: decp x0, p0/m
33 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
35 decp x0, p0.q
36 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate register
37 // CHECK-NEXT: decp x0, p0.q
38 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
40 decp z0.d, p0.b
41 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate register
42 // CHECK-NEXT: decp z0.d, p0.b
43 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
45 decp z0.d, p0.q
46 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate register
47 // CHECK-NEXT: decp z0.d, p0.q
48 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
51 // --------------------------------------------------------------------------//
52 // Negative tests for instructions that are incompatible with movprfx
54 movprfx z31.d, p7/z, z6.d
55 decp z31.d, p7
56 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a predicated movprfx, suggest using unpredicated movprfx
57 // CHECK-NEXT: decp z31.d, p7
58 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: