56 lines · plain
1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2 2>&1 < %s | FileCheck %s2 3// --------------------------------------------------------------------------//4// Invalid vector list5 6uqrshr z0.b, {z0.s-z4.s}, #327// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid number of vectors8// CHECK-NEXT: uqrshr z0.b, {z0.s-z4.s}, #329// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:10 11uqrshr z0.h, {z10.s-z12.s}, #1512// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction13// CHECK-NEXT: uqrshr z0.h, {z10.s-z12.s}, #1514// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:15 16uqrshr z0.h, {z1.d-z4.d}, #117// 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 types18// CHECK-NEXT: uqrshr z0.h, {z1.d-z4.d}, #119// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:20 21uqrshr z0.h, {z1.s-z2.s}, #122// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors, where the first vector is a multiple of 2 and with matching element types23// CHECK-NEXT: uqrshr z0.h, {z1.s-z2.s}, #124// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:25 26// --------------------------------------------------------------------------//27// Invalid immediate28 29uqrshr z31.h, {z28.d-z31.d}, #6530// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [1, 64].31// CHECK-NEXT: uqrshr z31.h, {z28.d-z31.d}, #6532// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:33 34uqrshr z31.h, {z28.s-z29.s}, #035// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [1, 16].36// CHECK-NEXT: uqrshr z31.h, {z28.s-z29.s}, #037// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:38 39uqrshr z31.b, {z28.s-z31.s}, #3340// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [1, 32].41// CHECK-NEXT: uqrshr z31.b, {z28.s-z31.s}, #3342// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:43 44// --------------------------------------------------------------------------//45// Invalid Register Suffix46 47uqrshr z23.s, {z12.s-z15.s}, #1548// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width49// CHECK-NEXT: uqrshr z23.s, {z12.s-z15.s}, #1550// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:51 52uqrshr z23.b, {z12.d-z15.d}, #1553// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction54// CHECK-NEXT: uqrshr z23.b, {z12.d-z15.d}, #1555// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:56