113 lines · plain
1 2// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2p2 2>&1 < %s| FileCheck %s3 4// Multiple and single, 2 regs5 6fmul {z0.b-z1.b}, {z0.h-z1.h}, z0.h7// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction8 9fmul {z1.s-z2.s}, {z0.s-z1.s}, z0.s10// 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 types11 12fmul {z0.d-z2.d}, {z0.d-z1.d}, z0.d13// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction14 15fmul {z0.h-z1.h}, {z0.b-z1.b}, z0.h16// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction17 18fmul {z0.s-z1.s}, {z1.s-z2.s}, z0.s19// 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 types20 21fmul {z0.d-z1.d}, {z0.d-z2.d}, z0.d22// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction23 24fmul {z0.h-z1.h}, {z0.h-z1.h}, z0.b25// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected z0.h..z15.h26 27fmul {z0.s-z1.s}, {z0.s-z1.s}, z16.s28// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected z0.s..z15.s29 30// Multiple and single, 4 regs31 32fmul {z0.b-z3.b}, {z0.h-z3.h}, z0.h33// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction34 35fmul {z1.s-z3.s}, {z0.h-z3.h}, z0.s36// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction37 38fmul {z0.d-z4.d}, {z0.d-z3.d}, z0.d39// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid number of vectors40 41fmul {z0.h-z3.h}, {z0.b-z3.b}, z0.h42// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction43 44fmul {z0.s-z3.s}, {z1.s-z3.s}, z0.s45// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction46 47fmul {z0.d-z3.d}, {z0.d-z4.d}, z0.d48// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid number of vectors49 50fmul {z0.h-z3.h}, {z0.h-z3.h}, z0.b51// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected z0.h..z15.h52 53fmul {z0.s-z3.s}, {z0.s-z3.s}, z16.s54// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected z0.s..z15.s55 56// Multiple, 2 regs57 58fmul {z0.b-z1.b}, {z0.h-z1.h}, {z0.h-z1.h}59// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction60 61fmul {z1.s-z2.s}, {z0.s-z1.s}, {z0.s-z1.s}62// 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 types63 64fmul {z0.d-z2.d}, {z0.d-z1.d}, {z0.d-z1.d}65// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction66 67fmul {z0.h-z1.h}, {z0.b-z1.b}, {z0.h-z1.h}68// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction69 70fmul {z0.s-z1.s}, {z1.s-z2.s}, {z0.s-z1.s}71// 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 types72 73fmul {z0.d-z1.d}, {z0.d-z2.d}, {z0.d-z1.d}74// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction75 76fmul {z0.h-z1.h}, {z0.h-z1.h}, {z0.b-z1.b}77// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction78 79fmul {z0.s-z1.s}, {z0.s-z1.s}, {z1.s-z2.s}80// 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 types81 82fmul {z0.d-z1.d}, {z0.d-z1.d}, {z0.d-z2.d}83// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction84 85// Multiple, 4 regs86 87fmul {z0.b-z3.b}, {z0.h-z3.h}, {z0.h-z3.h}88// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction89 90fmul {z1.s-z3.s}, {z0.s-z3.s}, {z0.s-z3.s}91// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction92 93fmul {z0.d-z4.d}, {z0.d-z3.d}, {z0.d-z3.d}94// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid number of vectors95 96fmul {z0.h-z3.h}, {z0.b-z3.b}, {z0.h-z3.h}97// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction98 99fmul {z0.s-z3.s}, {z1.s-z3.s}, {z0.s-z3.s}100// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction101 102fmul {z0.d-z3.d}, {z0.d-z4.d}, {z0.d-z3.d}103// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid number of vectors104 105fmul {z0.h-z3.h}, {z0.h-z3.h}, {z0.b-z3.b}106// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction107 108fmul {z0.s-z3.s}, {z0.s-z3.s}, {z1.s-z3.s}109// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction110 111fmul {z0.d-z3.d}, {z0.d-z3.d}, {z0.d-z4.d}112// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid number of vectors113