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