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