54 lines · plain
1// RUN: not llvm-mc -triple=aarch64 -mattr=+sve,bf16 2>&1 < %s| FileCheck %s2 3bfdot z0.s, z1.s, z2.h4// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width5// CHECK-NEXT: bfdot z0.s, z1.s, z2.h6// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:7 8bfdot z0.h, z1.h, z2.h9// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width10// CHECK-NEXT: bfdot z0.h, z1.h, z2.h11// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:12 13bfdot z0.s, z1.h, z2.s14// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected z0.h..z7.h15// CHECK-NEXT: bfdot z0.s, z1.h, z2.s16// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:17 18movprfx z0.s, p0/m, z7.s19bfdot z0.s, z1.h, z2.h20// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a predicated movprfx, suggest using unpredicated movprfx21// CHECK-NEXT: bfdot z0.s, z1.h, z2.h22// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:23 24bfdot z0.s, z1.s, z2.h[0]25// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width26// 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 width31// 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.h36// 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 instruction41// 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.s50bfdot 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 movprfx52// CHECK-NEXT: bfdot z0.s, z1.h, z2.h[0]53// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:54