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 6f1cvt z0.h, z0.h 7// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width 8// CHECK-NEXT: f1cvt z0.h, z0.h 9// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 10 11f1cvt z0.b, z0.b 12// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width 13// CHECK-NEXT: f1cvt z0.b, z0.b 14// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 15 16f1cvt z32.h, z0.b 17// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 18// CHECK-NEXT: f1cvt z32.h, z0.b 19// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 20 21 22f2cvt z0.h, z0.h 23// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width 24// CHECK-NEXT: f2cvt z0.h, z0.h 25// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 26 27f2cvt z0.b, z0.b 28// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width 29// CHECK-NEXT: f2cvt z0.b, z0.b 30// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 31 32f2cvt z32.h, z0.b 33// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 34// CHECK-NEXT: f2cvt z32.h, z0.b 35// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 36 37 38bf1cvt z0.h, z0.h 39// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width 40// CHECK-NEXT: bf1cvt z0.h, z0.h 41// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 42 43bf1cvt z0.b, z0.b 44// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width 45// CHECK-NEXT: bf1cvt z0.b, z0.b 46// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 47 48bf1cvt z32.h, z0.b 49// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 50// CHECK-NEXT: bf1cvt z32.h, z0.b 51// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 52 53 54bf2cvt z0.h, z0.h 55// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width 56// CHECK-NEXT: bf2cvt z0.h, z0.h 57// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 58 59bf2cvt z0.b, z0.b 60// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width 61// CHECK-NEXT: bf2cvt z0.b, z0.b 62// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 63 64bf2cvt z32.h, z0.b 65// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 66// CHECK-NEXT: bf2cvt z32.h, z0.b 67// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 68 69 70f1cvtlt z0.h, z0.h 71// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width 72// CHECK-NEXT: f1cvtlt z0.h, z0.h 73// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 74 75f1cvtlt z0.b, z0.b 76// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width 77// CHECK-NEXT: f1cvtlt z0.b, z0.b 78// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 79 80f1cvtlt z32.h, z0.b 81// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 82// CHECK-NEXT: f1cvtlt z32.h, z0.b 83// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 84 85 86f2cvtlt z0.h, z0.h 87// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width 88// CHECK-NEXT: f2cvtlt z0.h, z0.h 89// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 90 91f2cvtlt z0.b, z0.b 92// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width 93// CHECK-NEXT: f2cvtlt z0.b, z0.b 94// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 95 96f2cvtlt z32.h, z0.b 97// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 98// CHECK-NEXT: f2cvtlt z32.h, z0.b 99// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 100 101 102bf1cvtlt z0.h, z0.h 103// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width 104// CHECK-NEXT: bf1cvtlt z0.h, z0.h 105// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 106 107bf1cvtlt z0.b, z0.b 108// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width 109// CHECK-NEXT: bf1cvtlt z0.b, z0.b 110// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 111 112bf1cvtlt z32.h, z0.b 113// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 114// CHECK-NEXT: bf1cvtlt z32.h, z0.b 115// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 116 117 118bf2cvtlt z0.h, z0.h 119// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width 120// CHECK-NEXT: bf2cvtlt z0.h, z0.h 121// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 122 123bf2cvtlt z0.b, z0.b 124// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width 125// CHECK-NEXT: bf2cvtlt z0.b, z0.b 126// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 127 128bf2cvtlt z32.h, z0.b 129// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 130// CHECK-NEXT: bf2cvtlt z32.h, z0.b 131// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: