112 lines · plain
1// RUN: not llvm-mc -triple=aarch64 -mattr=+sme2,+sve-bfscale 2>&1 < %s| FileCheck %s2 3// Multiple and single, 2 regs4 5bfmul {z0.s-z1.s}, {z0.h-z1.h}, z0.h6// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction7 8bfmul {z1.h-z2.h}, {z0.h-z1.h}, z0.h9// 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 types10 11bfmul {z0.h-z2.h}, {z0.h-z1.h}, z0.h12// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction13 14bfmul {z0.h-z1.h}, {z0.s-z1.s}, z0.h15// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction16 17bfmul {z0.h-z1.h}, {z1.h-z2.h}, z0.h18// 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 types19 20bfmul {z0.h-z1.h}, {z0.h-z2.h}, z0.h21// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction22 23bfmul {z0.h-z1.h}, {z0.h-z1.h}, z0.s24// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected z0.h..z15.h25 26bfmul {z0.h-z1.h}, {z0.h-z1.h}, z16.h27// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected z0.h..z15.h28 29// Multiple and single, 4 regs30 31bfmul {z0.s-z3.s}, {z0.h-z3.h}, z0.h32// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction33 34bfmul {z1.h-z4.h}, {z0.h-z3.h}, z0.h35// 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 types36 37bfmul {z0.h-z4.h}, {z0.h-z3.h}, z0.h38// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid number of vectors39 40bfmul {z0.h-z3.h}, {z0.s-z3.s}, z0.h41// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction42 43bfmul {z0.h-z3.h}, {z1.h-z4.h}, z0.h44// 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 types45 46bfmul {z0.h-z3.h}, {z0.h-z4.h}, z0.h47// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid number of vectors48 49bfmul {z0.h-z3.h}, {z0.h-z3.h}, z0.s50// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected z0.h..z15.h51 52bfmul {z0.h-z3.h}, {z0.h-z3.h}, z16.h53// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected z0.h..z15.h54 55// Multiple, 2 regs56 57bfmul {z0.s-z1.s}, {z0.h-z1.h}, {z0.h-z1.h}58// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction59 60bfmul {z1.h-z2.h}, {z0.h-z1.h}, {z0.h-z1.h}61// 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 types62 63bfmul {z0.h-z2.h}, {z0.h-z1.h}, {z0.h-z1.h}64// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction65 66bfmul {z0.h-z1.h}, {z0.s-z1.s}, {z0.h-z1.h}67// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction68 69bfmul {z0.h-z1.h}, {z1.h-z2.h}, {z0.h-z1.h}70// 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 types71 72bfmul {z0.h-z1.h}, {z0.h-z2.h}, {z0.h-z1.h}73// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction74 75bfmul {z0.h-z1.h}, {z0.h-z1.h}, {z0.s-z1.s}76// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction77 78bfmul {z0.h-z1.h}, {z0.h-z1.h}, {z1.h-z2.h}79// 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 types80 81bfmul {z0.h-z1.h}, {z0.h-z1.h}, {z0.h-z2.h}82// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction83 84// Multiple, 4 regs85 86bfmul {z0.s-z3.s}, {z0.h-z3.h}, {z0.h-z3.h}87// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction88 89bfmul {z1.h-z4.h}, {z0.h-z3.h}, {z0.h-z3.h}90// 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 types91 92bfmul {z0.h-z4.h}, {z0.h-z3.h}, {z0.h-z3.h}93// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid number of vectors94 95bfmul {z0.h-z3.h}, {z0.s-z3.s}, {z0.h-z3.h}96// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction97 98bfmul {z0.h-z3.h}, {z1.h-z4.h}, {z0.h-z3.h}99// 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 types100 101bfmul {z0.h-z3.h}, {z0.h-z4.h}, {z0.h-z3.h}102// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid number of vectors103 104bfmul {z0.h-z3.h}, {z0.h-z3.h}, {z0.s-z3.s}105// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction106 107bfmul {z0.h-z3.h}, {z0.h-z3.h}, {z1.h-z4.h}108// 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 types109 110bfmul {z0.h-z3.h}, {z0.h-z3.h}, {z0.h-z4.h}111// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid number of vectors112