brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.6 KiB · 99466e1 Raw
72 lines · plain
1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2  2>&1 < %s| FileCheck %s2 3 4// ------------------------------------------------------------------------- //5// z register out of range for index6 7fmlslb z0.s, z1.h, z8.h[0]8// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction9// CHECK-NEXT: fmlslb z0.s, z1.h, z8.h[0]10// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:11 12// ------------------------------------------------------------------------- //13// Index out of bounds14 15fmlslb z0.s, z1.h, z7.h[-1]16// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 7].17// CHECK-NEXT: fmlslb z0.s, z1.h, z7.h[-1]18// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:19 20fmlslb z0.s, z1.h, z7.h[8]21// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 7].22// CHECK-NEXT: fmlslb z0.s, z1.h, z7.h[8]23// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:24 25// ------------------------------------------------------------------------- //26// Invalid element width27 28fmlslb z0.s, z1.b, z2.b29// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width30// CHECK-NEXT: fmlslb z0.s, z1.b, z2.b31// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:32 33fmlslb z0.s, z1.s, z2.s34// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width35// CHECK-NEXT: fmlslb z0.s, z1.s, z2.s36// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:37 38fmlslb z0.s, z1.d, z2.d39// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width40// CHECK-NEXT: fmlslb z0.s, z1.d, z2.d41// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:42 43fmlslb z0.s, z1.b, z2.b[0]44// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width45// CHECK-NEXT: fmlslb z0.s, z1.b, z2.b[0]46// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:47 48fmlslb z0.s, z1.s, z2.s[0]49// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width50// CHECK-NEXT: fmlslb z0.s, z1.s, z2.s[0]51// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:52 53fmlslb z0.s, z1.d, z2.d[0]54// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width55// CHECK-NEXT: fmlslb z0.s, z1.d, z2.d[0]56// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:57 58// --------------------------------------------------------------------------//59// Negative tests for instructions that are incompatible with movprfx60 61movprfx z29.s, p0/z, z7.s62fmlslb  z29.s, z30.h, z31.h63// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a predicated movprfx, suggest using unpredicated movprfx64// CHECK-NEXT: fmlslb  z29.s, z30.h, z31.h65// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:66 67movprfx z0.s, p0/z, z7.s68fmlslb  z0.s, z1.h, z7.h[0]69// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a predicated movprfx, suggest using unpredicated movprfx70// CHECK-NEXT: fmlslb  z0.s, z1.h, z7.h[0]71// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:72