41 lines · plain
1// RUN: not llvm-mc -triple=aarch64-none-linux-gnu -show-encoding -mattr=+sve 2>&1 < %s | FileCheck %s2 3// ------------------------------------------------------------------------- //4// Invalid predicate operand5 6sel z0.b, p0.b, z0.b, z0.b7// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate register8// CHECK-NEXT: sel z0.b, p0.b, z0.b, z0.b9// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:10 11sel z0.b, p0.q, z0.b, z0.b12// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate register13// CHECK-NEXT: sel z0.b, p0.q, z0.b, z0.b14// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:15 16sel p0.b, p0.b, p0.b, p0.b17// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate register18// CHECK-NEXT: sel p0.b, p0.b, p0.b, p0.b19// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:20 21sel p0.b, p0.q, p0.b, p0.b22// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate register23// CHECK-NEXT: sel p0.b, p0.q, p0.b, p0.b24// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:25 26 27// --------------------------------------------------------------------------//28// Negative tests for instructions that are incompatible with movprfx29 30movprfx z28.b, p7/z, z30.b31sel z28.b, p7, z13.b, z8.b32// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov33// CHECK-NEXT: sel z28.b, p7, z13.b, z8.b34// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:35 36movprfx z23, z3037sel z23.b, p11, z13.b, z8.b38// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov39// CHECK-NEXT: sel z23.b, p11, z13.b, z8.b40// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:41