brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.4 KiB · 0433518 Raw
78 lines · plain
1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2,+sme-f64f64 2>&1 < %s | FileCheck %s2 3// --------------------------------------------------------------------------//4// Out of range index offset5 6fmls za.s[w8, 8], {z20.s-z21.s}, z10.s7// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [0, 7].8// CHECK-NEXT: fmls za.s[w8, 8], {z20.s-z21.s}, z10.s9// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:10 11fmls za.d[w8, -1, vgx4], {z0.s-z3.s}, z0.s12// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [0, 7].13// CHECK-NEXT: fmls za.d[w8, -1, vgx4], {z0.s-z3.s}, z0.s14// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:15 16// --------------------------------------------------------------------------//17// Invalid vector select register18 19fmls za.d[w7, 0], {z0.d-z3.d}, z0.d20// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: operand must be a register in range [w8, w11]21// CHECK-NEXT: fmls za.d[w7, 0], {z0.d-z3.d}, z0.d22// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:23 24fmls za.s[w12, 0], {z0.s-z1.s}, z0.s25// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: operand must be a register in range [w8, w11]26// CHECK-NEXT: fmls za.s[w12, 0], {z0.s-z1.s}, z0.s27// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:28 29// --------------------------------------------------------------------------//30// Invalid Matrix Operand31 32fmls za.b[w8, #0], {z0.b-z3.b}, z4.b33// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid matrix operand, expected suffix .d34// CHECK-NEXT: fmls za.b[w8, #0], {z0.b-z3.b}, z4.b35// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:36 37 38// --------------------------------------------------------------------------//39// Invalid vector grouping40 41fmls za.s[w8, 0, vgx4], {z0.s-z1.s}, z0.s42// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction43// CHECK-NEXT: za.s[w8, 0, vgx4], {z0.s-z1.s}, z0.s44// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:45 46fmls za.d[w8, 0, vgx2], {z0.d-z3.d}, z0.d47// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction48// CHECK-NEXT: za.d[w8, 0, vgx2], {z0.d-z3.d}, z0.d49// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:50 51// --------------------------------------------------------------------------//52// Invalid vector list.53 54fmls za.d[w8, 0], {z0.d,z2.d}, {z0.d,z2.d}55// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction56// CHECK-NEXT: fmls za.d[w8, 0], {z0.d,z2.d}, {z0.d,z2.d}57// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:58 59fmls za.s[w10, 3, vgx2], {z10.s-z11.s}, {z21.s-z22.s}60// 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 types61// CHECK-NEXT: fmls za.s[w10, 3, vgx2], {z10.s-z11.s}, {z21.s-z22.s}62// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:63 64fmls za.d[w11, 7, vgx4], {z12.d-z15.d}, {z9.d-z12.d}65// 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 types66// CHECK-NEXT: fmls za.d[w11, 7, vgx4], {z12.d-z15.d}, {z9.d-z12.d}67// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:68 69fmls za.s[w10, 3], {z10.b-z11.b}, {z20.b-z21.b}70// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction71// CHECK-NEXT: fmls za.s[w10, 3], {z10.b-z11.b}, {z20.b-z21.b}72// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:73 74fmls     za.d[w11, 7], {z28.h - z31.h}, {z28.h - z31.h}75// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction76// CHECK-NEXT: fmls     za.d[w11, 7], {z28.h - z31.h}, {z28.h - z31.h}77// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:78