xref: /llvm-project/llvm/test/MC/ARM/bfloat16-a32-errors.s (revision 71ae267d1f4117473eb00d9fd3391733b843ca3c)
1*71ae267dSTies Stuij// RUN: not llvm-mc -triple arm -mattr=+bf16,-neon %s -o /dev/null 2>&1 | FileCheck %s --check-prefixes=NONEON,ALL
2*71ae267dSTies Stuij// RUN: not llvm-mc -triple arm -mattr=-bf16 %s -o /dev/null 2>&1 | FileCheck %s --check-prefixes=NOBF16,ALL
3*71ae267dSTies Stuij// RUN: not llvm-mc -triple arm %s -o /dev/null 2>&1 | FileCheck %s --check-prefixes=NONEON,ALL
4*71ae267dSTies Stuij//
5*71ae267dSTies Stuijvdot.bf16 d3, d4, d5
6*71ae267dSTies Stuijvdot.bf16 q0, q1, q2
7*71ae267dSTies Stuijvdot.bf16 d3, d4, d5[1]
8*71ae267dSTies Stuijvdot.bf16 q0, q1, d5[1]
9*71ae267dSTies Stuijvmmla.bf16 q0, q1, q2
10*71ae267dSTies Stuijvcvt.bf16.f32 d1, q3
11*71ae267dSTies Stuijvcvtbeq.bf16.f32 s1, s3
12*71ae267dSTies Stuijvcvttne.bf16.f32 s1, s3
13*71ae267dSTies Stuij// NOBF16: error: instruction requires: BFloat16 floating point extension
14*71ae267dSTies Stuij// NOBF16-NEXT: vdot.bf16 d3, d4, d5
15*71ae267dSTies Stuij// NOBF16-NEXT: ^
16*71ae267dSTies Stuij// NOBF16-NEXT: error: instruction requires: BFloat16 floating point extension
17*71ae267dSTies Stuij// NOBF16-NEXT: vdot.bf16 q0, q1, q2
18*71ae267dSTies Stuij// NOBF16-NEXT: ^
19*71ae267dSTies Stuij// NOBF16-NEXT: error: instruction requires: BFloat16 floating point extension
20*71ae267dSTies Stuij// NOBF16-NEXT: vdot.bf16 d3, d4, d5[1]
21*71ae267dSTies Stuij// NOBF16-NEXT: ^
22*71ae267dSTies Stuij// NOBF16-NEXT: error: instruction requires: BFloat16 floating point extension
23*71ae267dSTies Stuij// NOBF16-NEXT: vdot.bf16 q0, q1, d5[1]
24*71ae267dSTies Stuij// NOBF16-NEXT: ^
25*71ae267dSTies Stuij// NOBF16-NEXT: error: instruction requires: BFloat16 floating point extension
26*71ae267dSTies Stuij// NOBF16-NEXT: vmmla.bf16 q0, q1, q2
27*71ae267dSTies Stuij// NOBF16-NEXT: ^
28*71ae267dSTies Stuij// NOBF16-NEXT: error: instruction requires: BFloat16 floating point extension
29*71ae267dSTies Stuij// NOBF16-NEXT: vcvt.bf16.f32 d1, q3
30*71ae267dSTies Stuij// NOBF16-NEXT: ^
31*71ae267dSTies Stuij
32*71ae267dSTies Stuij// NONEON: error: instruction requires: BFloat16 floating point extension NEON
33*71ae267dSTies Stuij// NONEON-NEXT: vdot.bf16 d3, d4, d5
34*71ae267dSTies Stuij// NONEON-NEXT: ^
35*71ae267dSTies Stuij// NONEON-NEXT: error: instruction requires: BFloat16 floating point extension NEON
36*71ae267dSTies Stuij// NONEON-NEXT: vdot.bf16 q0, q1, q2
37*71ae267dSTies Stuij// NONEON-NEXT: ^
38*71ae267dSTies Stuij// NONEON-NEXT: error: instruction requires: BFloat16 floating point extension NEON
39*71ae267dSTies Stuij// NONEON-NEXT: vdot.bf16 d3, d4, d5[1]
40*71ae267dSTies Stuij// NONEON-NEXT: ^
41*71ae267dSTies Stuij// NONEON-NEXT: error: instruction requires: BFloat16 floating point extension NEON
42*71ae267dSTies Stuij// NONEON-NEXT: vdot.bf16 q0, q1, d5[1]
43*71ae267dSTies Stuij// NONEON-NEXT: ^
44*71ae267dSTies Stuij// NONEON-NEXT: error: instruction requires: BFloat16 floating point extension NEON
45*71ae267dSTies Stuij// NONEON-NEXT: vmmla.bf16 q0, q1, q2
46*71ae267dSTies Stuij// NONEON-NEXT: ^
47*71ae267dSTies Stuij// NONEON-NEXT: error: instruction requires: BFloat16 floating point extension NEON
48*71ae267dSTies Stuij// NONEON-NEXT: vcvt.bf16.f32 d1, q3
49*71ae267dSTies Stuij// NONEON-NEXT: ^
50*71ae267dSTies Stuij
51*71ae267dSTies Stuij
52*71ae267dSTies Stuij// ALL-NEXT: error: instruction requires: BFloat16 floating point extension
53*71ae267dSTies Stuij// ALL-NEXT: vcvtbeq.bf16.f32 s1, s3
54*71ae267dSTies Stuij// ALL-NEXT: ^
55*71ae267dSTies Stuij// ALL-NEXT: error: instruction requires: BFloat16 floating point extension
56*71ae267dSTies Stuij// ALL-NEXT: vcvttne.bf16.f32 s1, s3
57*71ae267dSTies Stuij// ALL-NEXT: ^
58