[Frontend] Remove unused includes (NFC) (#116927)
[llvm-project.git] / llvm / test / MC / AArch64 / SME2 / bfmul.s
blob10a43848c738199b2b065f20bf24ab9eab25ad47
1 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2,+sve-bfscale < %s \
2 // RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
3 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
4 // RUN: | FileCheck %s --check-prefix=CHECK-ERROR
5 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme2,+sve-bfscale < %s \
6 // RUN: | llvm-objdump -d --mattr=+sme2,+sve-bfscale - | FileCheck %s --check-prefix=CHECK-INST
7 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme2,+sve-bfscale < %s \
8 // RUN: | llvm-objdump -d --mattr=-sme2 - | FileCheck %s --check-prefix=CHECK-UNKNOWN
9 // Disassemble encoding and check the re-encoding (-show-encoding) matches.
10 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2,+sve-bfscale < %s \
11 // RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \
12 // RUN: | llvm-mc -triple=aarch64 -mattr=+sme2,+sve-bfscale -disassemble -show-encoding \
13 // RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
15 // Multiple and single, 2 regs
17 bfmul {z0.h-z1.h}, {z0.h-z1.h}, z0.h // 11000001-00100000-11101000-00000000
18 // CHECK-INST: bfmul { z0.h, z1.h }, { z0.h, z1.h }, z0.h
19 // CHECK-ENCODING: [0x00,0xe8,0x20,0xc1]
20 // CHECK-ERROR: instruction requires: sme2 sve-bfscale
21 // CHECK-UNKNOWN: c120e800 <unknown>
23 bfmul {z20.h-z21.h}, {z10.h-z11.h}, z10.h // 11000001-00110100-11101001-01010100
24 // CHECK-INST: bfmul { z20.h, z21.h }, { z10.h, z11.h }, z10.h
25 // CHECK-ENCODING: [0x54,0xe9,0x34,0xc1]
26 // CHECK-ERROR: instruction requires: sme2 sve-bfscale
27 // CHECK-UNKNOWN: c134e954 <unknown>
29 bfmul {z30.h-z31.h}, {z30.h-z31.h}, z15.h // 11000001-00111110-11101011-11011110
30 // CHECK-INST: bfmul { z30.h, z31.h }, { z30.h, z31.h }, z15.h
31 // CHECK-ENCODING: [0xde,0xeb,0x3e,0xc1]
32 // CHECK-ERROR: instruction requires: sme2 sve-bfscale
33 // CHECK-UNKNOWN: c13eebde <unknown>
35 // Multiple and single, 4 regs
37 bfmul {z0.h-z3.h}, {z0.h-z3.h}, z0.h // 11000001-00100001-11101000-00000000
38 // CHECK-INST: bfmul { z0.h - z3.h }, { z0.h - z3.h }, z0.h
39 // CHECK-ENCODING: [0x00,0xe8,0x21,0xc1]
40 // CHECK-ERROR: instruction requires: sme2 sve-bfscale
41 // CHECK-UNKNOWN: c121e800 <unknown>
43 bfmul {z20.h-z23.h}, {z8.h-z11.h}, z10.h // 11000001-00110101-11101001-00010100
44 // CHECK-INST: bfmul { z20.h - z23.h }, { z8.h - z11.h }, z10.h
45 // CHECK-ENCODING: [0x14,0xe9,0x35,0xc1]
46 // CHECK-ERROR: instruction requires: sme2 sve-bfscale
47 // CHECK-UNKNOWN: c135e914 <unknown>
49 bfmul {z28.h-z31.h}, {z28.h-z31.h}, z15.h // 11000001-00111111-11101011-10011100
50 // CHECK-INST: bfmul { z28.h - z31.h }, { z28.h - z31.h }, z15.h
51 // CHECK-ENCODING: [0x9c,0xeb,0x3f,0xc1]
52 // CHECK-ERROR: instruction requires: sme2 sve-bfscale
53 // CHECK-UNKNOWN: c13feb9c <unknown>
55 // Multiple, 2 regs
56 bfmul {z0.h-z1.h}, {z0.h-z1.h}, {z0.h-z1.h} // 11000001-00100000-11100100-00000000
57 // CHECK-INST: bfmul { z0.h, z1.h }, { z0.h, z1.h }, { z0.h, z1.h }
58 // CHECK-ENCODING: [0x00,0xe4,0x20,0xc1]
59 // CHECK-ERROR: instruction requires: sme2 sve-bfscale
60 // CHECK-UNKNOWN: c120e400 <unknown>
62 bfmul {z20.h-z21.h}, {z10.h-z11.h}, {z20.h-z21.h} // 11000001-00110100-11100101-01010100
63 // CHECK-INST: bfmul { z20.h, z21.h }, { z10.h, z11.h }, { z20.h, z21.h }
64 // CHECK-ENCODING: [0x54,0xe5,0x34,0xc1]
65 // CHECK-ERROR: instruction requires: sme2 sve-bfscale
66 // CHECK-UNKNOWN: c134e554 <unknown>
68 bfmul {z30.h-z31.h}, {z30.h-z31.h}, {z30.h-z31.h} // 11000001-00111110-11100111-11011110
69 // CHECK-INST: bfmul { z30.h, z31.h }, { z30.h, z31.h }, { z30.h, z31.h }
70 // CHECK-ENCODING: [0xde,0xe7,0x3e,0xc1]
71 // CHECK-ERROR: instruction requires: sme2 sve-bfscale
72 // CHECK-UNKNOWN: c13ee7de <unknown>
74 // Multiple, 4 regs
76 bfmul {z0.h-z3.h}, {z0.h-z3.h}, {z0.h-z3.h} // 11000001-00100001-11100100-00000000
77 // CHECK-INST: bfmul { z0.h - z3.h }, { z0.h - z3.h }, { z0.h - z3.h }
78 // CHECK-ENCODING: [0x00,0xe4,0x21,0xc1]
79 // CHECK-ERROR: instruction requires: sme2 sve-bfscale
80 // CHECK-UNKNOWN: c121e400 <unknown>
82 bfmul {z20.h-z23.h}, {z8.h-z11.h}, {z20.h-z23.h} // 11000001-00110101-11100101-00010100
83 // CHECK-INST: bfmul { z20.h - z23.h }, { z8.h - z11.h }, { z20.h - z23.h }
84 // CHECK-ENCODING: [0x14,0xe5,0x35,0xc1]
85 // CHECK-ERROR: instruction requires: sme2 sve-bfscale
86 // CHECK-UNKNOWN: c135e514 <unknown>
88 bfmul {z28.h-z31.h}, {z28.h-z31.h}, {z28.h-z31.h} // 11000001-00111101-11100111-10011100
89 // CHECK-INST: bfmul { z28.h - z31.h }, { z28.h - z31.h }, { z28.h - z31.h }
90 // CHECK-ENCODING: [0x9c,0xe7,0x3d,0xc1]
91 // CHECK-ERROR: instruction requires: sme2 sve-bfscale
92 // CHECK-UNKNOWN: c13de79c <unknown>