1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2p1 2>&1 < %s | FileCheck %s 2 3// --------------------------------------------------------------------------// 4// Invalid lane indices 5 6luti4 {z0.h, z8.h}, zt0, z0[4] 7// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3]. 8// CHECK-NEXT: luti4 {z0.h, z8.h}, zt0, z0[4] 9// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 10 11luti4 {z0.h, z8.h}, zt0, z0[-1] 12// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3]. 13// CHECK-NEXT: luti4 {z0.h, z8.h}, zt0, z0[-1] 14// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 15 16luti4 {z0.h, z8.h}, zt0, z0[4] 17// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3]. 18// CHECK-NEXT: luti4 {z0.h, z8.h}, zt0, z0[4] 19// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 20 21luti4 {z0.h, z8.h}, zt0, z0[-1] 22// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3]. 23// CHECK-NEXT: luti4 {z0.h, z8.h}, zt0, z0[-1] 24// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 25 26luti4 {z0.b, z8.b}, zt0, z0[4] 27// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3]. 28// CHECK-NEXT: luti4 {z0.b, z8.b}, zt0, z0[4] 29// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 30 31luti4 {z0.b, z8.b}, zt0, z0[-1] 32// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3]. 33// CHECK-NEXT: luti4 {z0.b, z8.b}, zt0, z0[-1] 34// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 35 36luti4 {z19.h, z23.h, z27.h, z31.h}, zt0, z31[2] 37// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 1]. 38// CHECK-NEXT: luti4 {z19.h, z23.h, z27.h, z31.h}, zt0, z31[2] 39// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 40 41luti4 {z19.h, z23.h, z27.h, z31.h}, zt0, z31[-1] 42// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 1]. 43// CHECK-NEXT: luti4 {z19.h, z23.h, z27.h, z31.h}, zt0, z31[-1] 44// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 45 46luti4 {z19.h, z23.h, z27.h, z31.h}, zt0, z31[2] 47// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 1]. 48// CHECK-NEXT: luti4 {z19.h, z23.h, z27.h, z31.h}, zt0, z31[2] 49// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 50 51luti4 {z19.h, z23.h, z27.h, z31.h}, zt0, z31[-1] 52// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 1]. 53// CHECK-NEXT: luti4 {z19.h, z23.h, z27.h, z31.h}, zt0, z31[-1] 54// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 55 56// --------------------------------------------------------------------------// 57// Invalid vector lists 58 59luti4 {z1.s-z4.s}, zt0, z0[3] 60// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 4 consecutive SVE vectors, where the first vector is a multiple of 4 and with matching element types 61// CHECK-NEXT: luti4 {z1.s-z4.s}, zt0, z0[3] 62// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 63 64