1// RUN: not llvm-mc -triple=aarch64 -mattr=+sve,bf16 2>&1 < %s| FileCheck %s 2 3bfdot z0.s, z1.s, z2.h 4// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width 5// CHECK-NEXT: bfdot z0.s, z1.s, z2.h 6// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 7 8bfdot z0.h, z1.h, z2.h 9// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width 10// CHECK-NEXT: bfdot z0.h, z1.h, z2.h 11// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 12 13bfdot z0.s, z1.h, z2.s 14// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected z0.h..z7.h 15// CHECK-NEXT: bfdot z0.s, z1.h, z2.s 16// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 17 18movprfx z0.s, p0/m, z7.s 19bfdot z0.s, z1.h, z2.h 20// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a predicated movprfx, suggest using unpredicated movprfx 21// CHECK-NEXT: bfdot z0.s, z1.h, z2.h 22// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 23 24bfdot z0.s, z1.s, z2.h[0] 25// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width 26// CHECK-NEXT: bfdot z0.s, z1.s, z2.h[0] 27// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 28 29bfdot z0.h, z1.h, z2.h[0] 30// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width 31// CHECK-NEXT: bfdot z0.h, z1.h, z2.h[0] 32// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 33 34bfdot z0.s, z1.h, z2.s[0] 35// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected z0.h..z7.h 36// CHECK-NEXT: bfdot z0.s, z1.h, z2.s[0] 37// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 38 39bfdot z0.s, z1.h, z8.h[0] 40// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 41// CHECK-NEXT: bfdot z0.s, z1.h, z8.h[0] 42// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 43 44bfdot z0.s, z1.h, z2.h[4] 45// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3]. 46// CHECK-NEXT: bfdot z0.s, z1.h, z2.h[4] 47// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 48 49movprfx z0.s, p0/m, z7.s 50bfdot z0.s, z1.h, z2.h[0] 51// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a predicated movprfx, suggest using unpredicated movprfx 52// CHECK-NEXT: bfdot z0.s, z1.h, z2.h[0] 53// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 54