40 lines · plain
1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2p1 2>&1 < %s | FileCheck %s2 3// --------------------------------------------------------------------------//4// Invalid vector lane index5 6sdot 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: sdot z0.s, z0.h, z0.h[8]9// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:10 11sdot 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: sdot z0.s, z0.h, z0.h[-1]14// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:15 16movprfx z0, z3117sdot 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: sdot z0.s, z0.h, z0.h[8]20// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:21 22movprfx z0, z3123sdot 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: sdot z0.s, z0.h, z0.h[-1]26// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:27 28// --------------------------------------------------------------------------//29// Invalid vector suffix30 31sdot z0.h, z0.s, z0.s32// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction33// CHECK-NEXT: sdot z0.h, z0.s, z0.s34// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:35 36sdot z0.b, z0.h, z0.h[1]37// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width38// CHECK-NEXT: sdot z0.b, z0.h, z0.h[1]39// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:40