xref: /llvm-project/llvm/test/MC/AArch64/SVE/bfcvt.s (revision 9c38fc111b9e1319ffa8e4a165e40ff7c7814406)
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve,+bf16 < %s \
2// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
3// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme,+bf16 < %s \
4// RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
5// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
6// RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
7
8bfcvt z0.H, p0/m, z1.S
9// CHECK-INST: bfcvt z0.h, p0/m, z1.s
10// CHECK-ENCODING: [0x20,0xa0,0x8a,0x65]
11// CHECK-ERROR: instruction requires: bf16 sve or sme
12
13movprfx z0.S, p0/m, z2.S
14// CHECK-INST: movprfx z0.s, p0/m, z2.s
15// CHECK-ENCODING: [0x40,0x20,0x91,0x04]
16// CHECK-ERROR: instruction requires: sve or sme
17
18bfcvt z0.H, p0/m, z1.S
19// CHECK-INST: bfcvt z0.h, p0/m, z1.s
20// CHECK-ENCODING: [0x20,0xa0,0x8a,0x65]
21// CHECK-ERROR: instruction requires: bf16 sve or sme
22
23movprfx z0, z2
24// CHECK-INST: movprfx z0, z2
25// CHECK-ENCODING: [0x40,0xbc,0x20,0x04]
26// CHECK-ERROR: instruction requires: sve or sme
27
28bfcvt z0.H, p0/m, z1.S
29// CHECK-INST: bfcvt z0.h, p0/m, z1.s
30// CHECK-ENCODING: [0x20,0xa0,0x8a,0x65]
31// CHECK-ERROR: instruction requires: bf16 sve or sme
32