xref: /llvm-project/llvm/test/MC/AArch64/SVE2/directive-arch-negative.s (revision 9256485043fe5cc3a24dba649deef8ae69e6d702)
1// RUN: not llvm-mc -triple aarch64 -filetype asm -o - %s 2>&1 | FileCheck %s
2
3.arch armv9-a+sve2
4.arch armv9-a+nosve2
5tbx z0.b, z1.b, z2.b
6// CHECK: error: instruction requires: sve2 or sme
7// CHECK-NEXT: tbx z0.b, z1.b, z2.b
8
9.arch armv9-a+sve-aes+nosve-aes
10aesd z23.b, z23.b, z13.b
11// CHECK: error: instruction requires: sve-aes
12// CHECK-NEXT: aesd z23.b, z23.b, z13.b
13
14// nosve2-aes should disable sve-aes but not sve2.
15.arch armv9-a+sve2-aes+nosve2-aes
16aesd z23.b, z23.b, z13.b
17// CHECK: error: instruction requires: sve-aes
18// CHECK-NEXT: aesd z23.b, z23.b, z13.b
19
20.arch armv9-a+sve2-sm4
21.arch armv9-a+nosve2-sm4
22sm4e z0.s, z0.s, z0.s
23// CHECK: error: instruction requires: sve2-sm4
24// CHECK-NEXT: sm4e z0.s, z0.s, z0.s
25
26.arch armv9-a+sve2-sha3
27.arch armv9-a+nosve2-sha3
28rax1 z0.d, z0.d, z0.d
29// CHECK: error: instruction requires: sve2-sha3
30// CHECK-NEXT: rax1 z0.d, z0.d, z0.d
31
32.arch armv9-a+ssve-bitperm
33.arch armv9-a+nossve-bitperm
34bgrp z21.s, z10.s, z21.s
35// CHECK: error: instruction requires: sve-bitperm
36// CHECK-NEXT: bgrp z21.s, z10.s, z21.s
37
38.arch armv9-a+sve2+sve-bitperm
39.arch armv9-a+sve2+nosve-bitperm
40bgrp z21.s, z10.s, z21.s
41// CHECK: error: instruction requires: sve-bitperm
42// CHECK-NEXT: bgrp z21.s, z10.s, z21.s
43
44.arch armv9-a+f8f16mm
45.arch armv9-a+nof8f16mm
46fmmla   z23.h, z13.b, z8.b
47// CHECK: error: instruction requires: f8f16mm
48// CHECK-NEXT: fmmla   z23.h, z13.b, z8.b
49
50.arch armv9-a+f8f32mm
51.arch armv9-a+nof8f32mm
52fmmla   z23.s, z13.b, z8.b
53// CHECK: error: instruction requires: f8f32mm
54// CHECK-NEXT: fmmla   z23.s, z13.b, z8.b
55
56.arch armv9-a+sve-f16f32mm
57.arch armv9-a+nosve-f16f32mm
58fmmla   z23.s, z13.h, z8.h
59// CHECK: error: instruction requires: sve-f16f32mm
60// CHECK-NEXT: fmmla   z23.s, z13.h, z8.h
61
62.arch armv9-a+sve-bfscale
63.arch armv9-a+nosve-bfscale
64bfscale z0.h, p0/m, z0.h, z0.h
65// CHECK: error: instruction requires: sve-bfscale
66// CHECK-NEXT: bfscale z0.h, p0/m, z0.h, z0.h
67