xref: /llvm-project/llvm/test/MC/AArch64/SME/rdsvl.s (revision 75cdab6dc2453a508157a9c383b93373a93078d6)
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme < %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=+sme < %s \
6// RUN:        | llvm-objdump --no-print-imm-hex -d --mattr=+sme - | FileCheck %s --check-prefix=CHECK-INST
7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme < %s \
8// RUN:   | llvm-objdump --no-print-imm-hex -d --mattr=-sme - | FileCheck %s --check-prefix=CHECK-UNKNOWN
9
10rdsvl    x0, #0
11// CHECK-INST: rdsvl    x0, #0
12// CHECK-ENCODING: [0x00,0x58,0xbf,0x04]
13// CHECK-ERROR: instruction requires: sme
14// CHECK-UNKNOWN: 04bf5800 <unknown>
15
16rdsvl    xzr, #-1
17// CHECK-INST: rdsvl    xzr, #-1
18// CHECK-ENCODING: [0xff,0x5f,0xbf,0x04]
19// CHECK-ERROR: instruction requires: sme
20// CHECK-UNKNOWN: 04bf5fff <unknown>
21
22rdsvl    x23, #31
23// CHECK-INST: rdsvl    x23, #31
24// CHECK-ENCODING: [0xf7,0x5b,0xbf,0x04]
25// CHECK-ERROR: instruction requires: sme
26// CHECK-UNKNOWN: 04bf5bf7 <unknown>
27
28rdsvl    x21, #-32
29// CHECK-INST: rdsvl    x21, #-32
30// CHECK-ENCODING: [0x15,0x5c,0xbf,0x04]
31// CHECK-ERROR: instruction requires: sme
32// CHECK-UNKNOWN: 04bf5c15 <unknown>
33