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
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]
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]
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]
54 # CHECK: bfmmla v2.4s, v3.8h, v4.8h
55 # CHECK: bfmmla v3.4s, v4.8h, v5.8h
56 # NOBF16: warning: invalid instruction encoding
57 NOBF16-NEXT: [0x62,0xec,0x44,0x6e]
58 # NOBF16: warning: invalid instruction encoding
59 # NOBF16-NEXT: [0x83,0xec,0x45,0x6e]
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]
71 [0x65, 0x40, 0x63, 0x1e]
73 # NOBF16: warning: invalid instruction encoding
74 # NOBF16-NEXT: [0x65, 0x40, 0x63, 0x1e]