brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.5 KiB · 627ec0f Raw
65 lines · plain
1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+ssve-fp8fma  2>&1 < %s| FileCheck %s2 3// ------------------------------------------------------------------------- //4// z register out of range for index5fmlalb z0.h, z1.b, z8.b[0]6// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction7// CHECK-NEXT: fmlalb z0.h, z1.b, z8.b[0]8// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:9 10fmlalt z0.h, z1.b, z8.b[0]11// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction12// CHECK-NEXT: fmlalt z0.h, z1.b, z8.b[0]13// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:14 15// ------------------------------------------------------------------------- //16// Index out of bounds17 18fmlalb z0.h, z1.b, z7.b[-1]19// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 15].20// CHECK-NEXT: fmlalb z0.h, z1.b, z7.b[-1]21// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:22 23fmlalt z0.h, z1.b, z7.b[16]24// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 15].25// CHECK-NEXT: fmlalt z0.h, z1.b, z7.b[16]26// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:27 28// ------------------------------------------------------------------------- //29// Invalid element width30 31fmlalb z0.h, z1.h, z2.h[0]32// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width33// CHECK-NEXT: fmlalb z0.h, z1.h, z2.h[0]34// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:35 36fmlalb z0.h, z1.h, z2.h37// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width38// CHECK-NEXT: fmlalb  z0.h, z1.h, z2.h39// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:40 41fmlalt z0.s, z1.b, z2.b[0]42// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width43// CHECK-NEXT: fmlalt z0.s, z1.b, z2.b[0]44// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:45 46fmlalt z0.s, z1.b, z2.b47// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width48// CHECK-NEXT: fmlalt  z0.s, z1.b, z2.b49// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:50 51// --------------------------------------------------------------------------//52// Negative tests for instructions that are incompatible with movprfx53 54movprfx z0.b, p0/z, z0.b55fmlalb  z0.h, z1.b, z7.b[0]56// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a predicated movprfx, suggest using unpredicated movprfx57// CHECK-NEXT: fmlalb  z0.h, z1.b, z7.b[0]58// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:59 60movprfx z29.b, p0/z, z7.b61fmlalt  z29.h, z30.b, z31.b62// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a predicated movprfx, suggest using unpredicated movprfx63// CHECK-NEXT: fmlalt  z29.h, z30.b, z31.b64// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:65