1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2,+fp8 2>&1 < %s | FileCheck %s 2// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2,+fp8 2>&1 < %s | FileCheck %s 3 4// --------------------------------------------------------------------------// 5 6fcvtn z0.b, {z1.h, z2.h} 7// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors, where the first vector is a multiple of 2 and with matching element types 8// CHECK-NEXT: fcvtn z0.b, {z1.h, z2.h} 9// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 10 11fcvtn z0.h, {z0.h, z1.h} 12// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 13// CHECK-NEXT: fcvtn z0.h, {z0.h, z1.h} 14// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 15 16fcvtn z0.b, {z0.b, z1.b} 17// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 18// CHECK-NEXT: fcvtn z0.b, {z0.b, z1.b} 19// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 20 21 22 23fcvtnb z0.b, {z1.s, z2.s} 24// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors, where the first vector is a multiple of 2 and with matching element type 25// CHECK-NEXT: fcvtnb z0.b, {z1.s, z2.s} 26// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 27 28fcvtnb z0.h, {z0.s, z1.s} 29// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width 30// CHECK-NEXT: fcvtnb z0.h, {z0.s, z1.s} 31// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 32 33fcvtnb z0.b, {z0.h, z1.h} 34// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 35// CHECK-NEXT: fcvtnb z0.b, {z0.h, z1.h} 36// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 37 38 39 40bfcvtn z0.b, {z1.h, z2.h} 41// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors, where the first vector is a multiple of 2 and with matching element types 42// CHECK-NEXT: bfcvtn z0.b, {z1.h, z2.h} 43// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 44 45bfcvtn z0.h, {z0.h, z1.h} 46// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 47// CHECK-NEXT: bfcvtn z0.h, {z0.h, z1.h} 48// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 49 50bfcvtn z0.b, {z0.b, z1.b} 51// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 52// CHECK-NEXT: bfcvtn z0.b, {z0.b, z1.b} 53// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 54 55 56 57fcvtnt z0.b, {z1.s, z2.s} 58// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors, where the first vector is a multiple of 2 and with matching element type 59// CHECK-NEXT: fcvtnt z0.b, {z1.s, z2.s} 60// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 61 62fcvtnt z0.h, {z0.s, z1.s} 63// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 64// CHECK-NEXT: fcvtnt z0.h, {z0.s, z1.s} 65// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 66 67fcvtnt z0.b, {z0.h, z1.h} 68// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 69// CHECK-NEXT: fcvtnt z0.b, {z0.h, z1.h} 70// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: