1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2,+lut 2>&1 < %s| FileCheck %s 2 3// --------------------------------------------------------------------------// 4// Invalid lane indices 5 6luti2 z2.b, {z1.b}, z0[-1] 7// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3]. 8// CHECK-NEXT: luti2 z2.b, {z1.b}, z0[-1] 9// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 10 11luti2 z3.b, {z2.b}, z1[4] 12// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3]. 13// CHECK-NEXT: luti2 z3.b, {z2.b}, z1[4] 14// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 15 16luti2 z30.h, {z21.h}, z20[-1] 17// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 7]. 18// CHECK-NEXT: luti2 z30.h, {z21.h}, z20[-1] 19// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 20 21luti2 z31.h, {z31.h}, z31[8] 22// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 7]. 23// CHECK-NEXT: luti2 z31.h, {z31.h}, z31[8] 24// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 25 26// --------------------------------------------------------------------------// 27// Invalid vector suffix 28 29luti2 z2.h, {z1.b}, z0[3] 30// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 31// CHECK-NEXT: luti2 z2.h, {z1.b}, z0[3] 32// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 33 34luti2 z31.b, {z31.h}, z31[7] 35// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width 36// CHECK-NEXT: luti2 z31.b, {z31.h}, z31[7] 37// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 38