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