brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · dc3f558 Raw
52 lines · plain
1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2  2>&1 < %s| FileCheck %s2 3tbl z0.b, { z1.b, z2.b }, z3.h4// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width5// CHECK-NEXT: tbl z0.b, { z1.b, z2.b }, z3.h6// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:7 8 9// --------------------------------------------------------------------------//10// Invalid vector list.11 12tbl z0.d, { }, z1.d13// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector register expected14// CHECK-NEXT: tbl z0.d, { }, z1.d15// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:16 17tbl z0.d, { z1.d, z2.d, z3.d }, z4.d18// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction19// CHECK-NEXT: tbl z0.d, { z1.d, z2.d, z3.d }, z4.d20// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:21 22tbl z0.d, { z1.d, z2.b }, z3.d23// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: mismatched register size suffix24// CHECK-NEXT: tbl z0.d, { z1.d, z2.b }, z3.d25// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:26 27tbl z0.d, { z1.d, z21.d }, z3.d28// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction29// CHECK-NEXT: tbl z0.d, { z1.d, z21.d }, z3.d30// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:31 32tbl z0.d, { v0.2d, v1.2d }, z1.d33// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction34// CHECK-NEXT: tbl z0.d, { v0.2d, v1.2d }, z1.d35// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:36 37 38// --------------------------------------------------------------------------//39// Negative tests for instructions that are incompatible with movprfx40 41movprfx z31.d, p0/z, z6.d42tbl  z31.d, { z30.d, z31.d }, z31.d43// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov44// CHECK-NEXT: tbl  z31.d, { z30.d, z31.d }, z31.d45// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:46 47movprfx z31, z648tbl  z31.d, { z30.d, z31.d }, z31.d49// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov50// CHECK-NEXT: tbl  z31.d, { z30.d, z31.d }, z31.d51// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:52