1 // RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve 2>&1 < %s| FileCheck %s 2 3 // ------------------------------------------------------------------------- // 4 // Invalid result register 5 6 cntb w0 7 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand 8 // CHECK-NEXT: cntb w0 9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 10 11 cntb sp 12 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand 13 // CHECK-NEXT: cntb sp 14 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 15 16 cntb z0.b 17 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand 18 // CHECK-NEXT: cntb z0.b 19 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 20 21 22 // ------------------------------------------------------------------------- // 23 // Immediate not compatible with encode/decode function. 24 25 cntb x0, all, mul #-1 26 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [1, 16] 27 // CHECK-NEXT: cntb x0, all, mul #-1 28 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 29 30 cntb x0, all, mul #0 31 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [1, 16] 32 // CHECK-NEXT: cntb x0, all, mul #0 33 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 34 35 cntb x0, all, mul #17 36 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [1, 16] 37 // CHECK-NEXT: cntb x0, all, mul #17 38 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 39 40 41 // ------------------------------------------------------------------------- // 42 // Invalid predicate patterns 43 44 cntb x0, #-1 45 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern 46 // CHECK-NEXT: cntb x0, #-1 47 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 48 49 cntb x0, #32 50 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern 51 // CHECK-NEXT: cntb x0, #32 52 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 53 54 cntb x0, vl512 55 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand 56 // CHECK-NEXT: cntb x0, vl512 57 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 58