1# RUN: llvm-mc -triple=aarch64 -mattr=+bf16 -disassemble < %s | FileCheck %s 2# RUN: llvm-mc -triple=aarch64 -mattr=+v8.6a -disassemble < %s | FileCheck %s 3# RUN: not llvm-mc -triple=aarch64 -mattr=-bf16 -disassemble < %s 2>&1 | FileCheck %s --check-prefix=NOBF16 4# RUN: not llvm-mc -triple=aarch64 -disassemble < %s 2>&1 | FileCheck %s --check-prefix=NOBF16 5 6 7[0x62,0xfc,0x44,0x2e] 8[0x62,0xfc,0x44,0x6e] 9# CHECK: bfdot v2.2s, v3.4h, v4.4h 10# CHECK: bfdot v2.4s, v3.8h, v4.8h 11# NOBF16: warning: invalid instruction encoding 12# NOBF16-NEXT: [0x62,0xfc,0x44,0x2e] 13# NOBF16: warning: invalid instruction encoding 14# NOBF16-NEXT: [0x62,0xfc,0x44,0x6e] 15 16[0x62,0xf0,0x44,0x4f] 17[0x62,0xf0,0x64,0x4f] 18[0x62,0xf8,0x44,0x4f] 19[0x62,0xf8,0x64,0x4f] 20# CHECK: bfdot v2.4s, v3.8h, v4.2h[0] 21# CHECK: bfdot v2.4s, v3.8h, v4.2h[1] 22# CHECK: bfdot v2.4s, v3.8h, v4.2h[2] 23# CHECK: bfdot v2.4s, v3.8h, v4.2h[3] 24# NOBF16: warning: invalid instruction encoding 25# NOBF-NEXT: [0x62,0xf0,0x44,0x4f] 26# NOBF16: warning: invalid instruction encoding 27# NOBF6-NEXT: [0x62,0xf0,0x64,0x4f] 28# NOBF16: warning: invalid instruction encoding 29# NOBF6-NEXT: [0x62,0xf8,0x44,0x4f] 30# NOBF16: warning: invalid instruction encoding 31# NOBF6-NEXT: [0x62,0xf8,0x64,0x4f] 32 33 34[0x62,0xf0,0x44,0x0f] 35[0x62,0xf0,0x64,0x0f] 36[0x62,0xf8,0x44,0x0f] 37[0x62,0xf8,0x64,0x0f] 38# CHECK: bfdot v2.2s, v3.4h, v4.2h[0] 39# CHECK: bfdot v2.2s, v3.4h, v4.2h[1] 40# CHECK: bfdot v2.2s, v3.4h, v4.2h[2] 41# CHECK: bfdot v2.2s, v3.4h, v4.2h[3] 42# NOBF16: warning: invalid instruction encoding 43# NOBF-NEXT: [0x62,0xf0,0x44,0x0f] 44# NOBF16: warning: invalid instruction encoding 45# NOBF6-NEXT: [0x62,0xf0,0x64,0x0f] 46# NOBF16: warning: invalid instruction encoding 47# NOBF6-NEXT: [0x62,0xf8,0x44,0x0f] 48# NOBF16: warning: invalid instruction encoding 49# NOBF6-NEXT: [0x62,0xf8,0x64,0x0f] 50 51 52[0x62,0xec,0x44,0x6e] 53[0x83,0xec,0x45,0x6e] 54# CHECK: bfmmla v2.4s, v3.8h, v4.8h 55# CHECK: bfmmla v3.4s, v4.8h, v5.8h 56# NOBF16: warning: invalid instruction encoding 57NOBF16-NEXT: [0x62,0xec,0x44,0x6e] 58# NOBF16: warning: invalid instruction encoding 59# NOBF16-NEXT: [0x83,0xec,0x45,0x6e] 60 61 62[0xa5,0x68,0xa1,0x0e] 63[0xa5,0x68,0xa1,0x4e] 64# CHECK: bfcvtn v5.4h, v5.4s 65# CHECK: bfcvtn2 v5.8h, v5.4s 66# NOBF16: warning: invalid instruction encoding 67# NOBF16-NEXT: [0xa5,0x68,0xa1,0x0e] 68# NOBF16: warning: invalid instruction encoding 69# NOBF16-NEXT: [0xa5,0x68,0xa1,0x4e] 70 71[0x65, 0x40, 0x63, 0x1e] 72# CHECK: bfcvt h5, s3 73# NOBF16: warning: invalid instruction encoding 74# NOBF16-NEXT: [0x65, 0x40, 0x63, 0x1e] 75