Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / MC / AArch64 / SVE / bfdot-diagnostics.s
blob90b441e9d75abdfd28f0949de9f28d056f06273e
1 // RUN: not llvm-mc -triple=aarch64 -mattr=+sve,bf16 2>&1 < %s| FileCheck %s
3 bfdot 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]+}}:
8 bfdot 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]+}}:
13 bfdot 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]+}}:
18 movprfx z0.s, p0/m, z7.s
19 bfdot 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]+}}:
24 bfdot 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]+}}:
29 bfdot 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]+}}:
34 bfdot 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]+}}:
39 bfdot 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]+}}:
44 bfdot 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]+}}:
49 movprfx z0.s, p0/m, z7.s
50 bfdot 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]+}}: