73 lines · plain
1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2p1 2>&1 < %s | FileCheck %s2 3// --------------------------------------------------------------------------//4// Invalid vector lane indices5 6pmov p0.b, z0[1]7// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: expected lane specifier '[0]'8// CHECK-NEXT: pmov p0.b, z0[1]9// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:10 11pmov p0.h, z0[2]12// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 1].13// CHECK-NEXT: pmov p0.h, z0[2]14// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:15 16pmov p0.h, z0[-1]17// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 1].18// CHECK-NEXT: pmov p0.h, z0[-1]19// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:20 21pmov p0.s, z0[4]22// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3].23// CHECK-NEXT: pmov p0.s, z0[4]24// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:25 26pmov p0.s, z0[-1]27// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3].28// CHECK-NEXT: pmov p0.s, z0[-1]29// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:30 31pmov p0.d, z0[8]32// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 7].33// CHECK-NEXT: pmov p0.d, z0[8]34// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:35 36pmov p0.d, z0[-1]37// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 7].38// CHECK-NEXT: pmov p0.d, z0[-1]39// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:40 41 42 43pmov z0[2], p0.h44// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate register.45// CHECK-NEXT: pmov z0[2], p0.h46// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:47 48pmov z0[-1], p0.h49// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3].50// CHECK-NEXT: pmov z0[-1], p0.h51// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:52 53pmov z0[4], p0.s54// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate register.55// CHECK-NEXT: pmov z0[4], p0.s56// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:57 58pmov z0[-1], p0.s59// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3].60// CHECK-NEXT: pmov z0[-1], p0.s61// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:62 63pmov z0[8], p0.d64// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3].65// CHECK-NEXT: pmov z0[8], p0.d66// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:67 68pmov z0[-1], p0.d69// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3].70// CHECK-NEXT: pmov z0[-1], p0.d71// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:72 73