Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / MC / AArch64 / SVE2p1 / whilele-diagnostics.s
blob5bf38d765e393cd66065f7b067a61491234c64e1
1 // RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2p1 2>&1 < %s | FileCheck %s
3 // --------------------------------------------------------------------------//
4 // Invalid Pattern
6 whilele pn8.b, x0, x0, vlx1
7 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand
8 // CHECK-NEXT: whilele pn8.b, x0, x0, vlx1
9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
11 whilele pn8.b, x0, x0
12 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: too few operands for instruction
13 // CHECK-NEXT: whilele pn8.b, x0, x0
14 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
16 // --------------------------------------------------------------------------//
17 // Invalid use of predicate without suffix
19 whilele pn8, x0, x0, vlx2
20 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid predicate register, expected PN in range pn8..pn15 with element suffix.
21 // CHECK-NEXT: whilele pn8, x0, x0, vlx2
22 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
24 // --------------------------------------------------------------------------//
25 // Out of range Predicate register
27 whilele pn7.b, x0, x0, vlx2
28 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid predicate register, expected PN in range pn8..pn15 with element suffix.
29 // CHECK-NEXT: whilele pn7.b, x0, x0, vlx2
30 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
32 whilele { p0.b, p2.b }, x13, x8
33 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
34 // CHECK-NEXT: whilele { p0.b, p2.b }, x13, x8
35 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
37 whilele { p15.b, p0.b }, x13, x8
38 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive predicate registers, where the first vector is a multiple of 2 and with correct element type
39 // CHECK-NEXT: whilele { p15.b, p0.b }, x13, x8
40 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: