[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / MC / AArch64 / SVE / sel-diagnostics.s
blob2fe4bbb1b0263d7eefa6842543a00a40a2ecd8ba
1 // RUN: not llvm-mc -triple=aarch64-none-linux-gnu -show-encoding -mattr=+sve 2>&1 < %s | FileCheck %s
3 // ------------------------------------------------------------------------- //
4 // Invalid predicate operand
6 sel z0.b, p0.b, z0.b, z0.b
7 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate register
8 // CHECK-NEXT: sel z0.b, p0.b, z0.b, z0.b
9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
11 sel z0.b, p0.q, z0.b, z0.b
12 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate register
13 // CHECK-NEXT: sel z0.b, p0.q, z0.b, z0.b
14 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
16 sel p0.b, p0.b, p0.b, p0.b
17 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate register
18 // CHECK-NEXT: sel p0.b, p0.b, p0.b, p0.b
19 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
21 sel p0.b, p0.q, p0.b, p0.b
22 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate register
23 // CHECK-NEXT: sel p0.b, p0.q, p0.b, p0.b
24 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
27 // --------------------------------------------------------------------------//
28 // Negative tests for instructions that are incompatible with movprfx
30 movprfx z28.b, p7/z, z30.b
31 sel z28.b, p7, z13.b, z8.b
32 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov
33 // CHECK-NEXT: sel z28.b, p7, z13.b, z8.b
34 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
36 movprfx z23, z30
37 sel z23.b, p11, z13.b, z8.b
38 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov
39 // CHECK-NEXT: sel z23.b, p11, z13.b, z8.b
40 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: