[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / MC / ARM / bfloat16-a32-errors.s
blob4cfa424b7d306ab94c567b95b04085f7a33654fa
1 // RUN: not llvm-mc -triple arm -mattr=+bf16,-neon %s -o /dev/null 2>&1 | FileCheck %s --check-prefixes=NONEON,ALL
2 // RUN: not llvm-mc -triple arm -mattr=-bf16 %s -o /dev/null 2>&1 | FileCheck %s --check-prefixes=NOBF16,ALL
3 // RUN: not llvm-mc -triple arm %s -o /dev/null 2>&1 | FileCheck %s --check-prefixes=NONEON,ALL
4 //
5 vdot.bf16 d3, d4, d5
6 vdot.bf16 q0, q1, q2
7 vdot.bf16 d3, d4, d5[1]
8 vdot.bf16 q0, q1, d5[1]
9 vmmla.bf16 q0, q1, q2
10 vcvt.bf16.f32 d1, q3
11 vcvtbeq.bf16.f32 s1, s3
12 vcvttne.bf16.f32 s1, s3
13 // NOBF16: error: instruction requires: BFloat16 floating point extension
14 // NOBF16-NEXT: vdot.bf16 d3, d4, d5
15 // NOBF16-NEXT: ^
16 // NOBF16-NEXT: error: instruction requires: BFloat16 floating point extension
17 // NOBF16-NEXT: vdot.bf16 q0, q1, q2
18 // NOBF16-NEXT: ^
19 // NOBF16-NEXT: error: instruction requires: BFloat16 floating point extension
20 // NOBF16-NEXT: vdot.bf16 d3, d4, d5[1]
21 // NOBF16-NEXT: ^
22 // NOBF16-NEXT: error: instruction requires: BFloat16 floating point extension
23 // NOBF16-NEXT: vdot.bf16 q0, q1, d5[1]
24 // NOBF16-NEXT: ^
25 // NOBF16-NEXT: error: instruction requires: BFloat16 floating point extension
26 // NOBF16-NEXT: vmmla.bf16 q0, q1, q2
27 // NOBF16-NEXT: ^
28 // NOBF16-NEXT: error: instruction requires: BFloat16 floating point extension
29 // NOBF16-NEXT: vcvt.bf16.f32 d1, q3
30 // NOBF16-NEXT: ^
32 // NONEON: error: instruction requires: BFloat16 floating point extension NEON
33 // NONEON-NEXT: vdot.bf16 d3, d4, d5
34 // NONEON-NEXT: ^
35 // NONEON-NEXT: error: instruction requires: BFloat16 floating point extension NEON
36 // NONEON-NEXT: vdot.bf16 q0, q1, q2
37 // NONEON-NEXT: ^
38 // NONEON-NEXT: error: instruction requires: BFloat16 floating point extension NEON
39 // NONEON-NEXT: vdot.bf16 d3, d4, d5[1]
40 // NONEON-NEXT: ^
41 // NONEON-NEXT: error: instruction requires: BFloat16 floating point extension NEON
42 // NONEON-NEXT: vdot.bf16 q0, q1, d5[1]
43 // NONEON-NEXT: ^
44 // NONEON-NEXT: error: instruction requires: BFloat16 floating point extension NEON
45 // NONEON-NEXT: vmmla.bf16 q0, q1, q2
46 // NONEON-NEXT: ^
47 // NONEON-NEXT: error: instruction requires: BFloat16 floating point extension NEON
48 // NONEON-NEXT: vcvt.bf16.f32 d1, q3
49 // NONEON-NEXT: ^
52 // ALL-NEXT: error: instruction requires: BFloat16 floating point extension
53 // ALL-NEXT: vcvtbeq.bf16.f32 s1, s3
54 // ALL-NEXT: ^
55 // ALL-NEXT: error: instruction requires: BFloat16 floating point extension
56 // ALL-NEXT: vcvttne.bf16.f32 s1, s3
57 // ALL-NEXT: ^