[Frontend] Remove unused includes (NFC) (#116927)
[llvm-project.git] / llvm / test / MC / ARM / vscclrm-asm.s
blob0d2054df4fd345510f1851d0c19fa42564c9bc62
1 // RUN: not llvm-mc -triple=thumbv8.1m.main-none-eabi -mattr=+8msecext -show-encoding < %s 2>%t \
2 // RUN: | FileCheck --check-prefix=CHECK %s
3 // RUN: FileCheck --check-prefix=ERROR < %t %s
4 // RUN: not llvm-mc -triple=thumbv8.1m.main-none-eabi -mattr=+mve.fp,+8msecext -show-encoding < %s 2>%t \
5 // RUN: | FileCheck --check-prefix=CHECK %s
6 // RUN: FileCheck --check-prefix=ERROR < %t %s
7 // RUN: not llvm-mc -triple=thumbv8.1m.main-none-none-eabi -mattr=-8msecext < %s 2>%t
8 // RUN: FileCheck --check-prefix=NOSEC < %t %s
10 // CHECK: vscclrm {s0, s1, s2, s3, vpr} @ encoding: [0x9f,0xec,0x04,0x0a]
11 // NOSEC: instruction requires: ARMv8-M Security Extensions
12 vscclrm {s0-s3, vpr}
14 // CHECK: vscclrm {s3, s4, s5, s6, s7, s8, vpr} @ encoding: [0xdf,0xec,0x06,0x1a]
15 // NOSEC: instruction requires: ARMv8-M Security Extensions
16 vscclrm {s3-s8, vpr}
18 // CHECK: vscclrm {s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, vpr} @ encoding: [0x9f,0xec,0x0c,0x9a]
19 vscclrm {s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, vpr}
21 // CHECK: vscclrm {s31, vpr} @ encoding: [0xdf,0xec,0x01,0xfa]
22 vscclrm {s31, vpr}
24 // CHECK: vscclrm {d0, d1, vpr} @ encoding: [0x9f,0xec,0x04,0x0b]
25 vscclrm {d0-d1, vpr}
27 // CHECK: vscclrm {d0, d1, d2, d3, vpr} @ encoding: [0x9f,0xec,0x08,0x0b]
28 vscclrm {d0-d3, vpr}
30 // CHECK: vscclrm {d5, d6, d7, vpr} @ encoding: [0x9f,0xec,0x06,0x5b]
31 vscclrm {d5-d7, vpr}
33 // CHECK: it hi @ encoding: [0x88,0xbf]
34 it hi
35 // CHECK: vscclrmhi {s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, vpr} @ encoding: [0xdf,0xec,0x1d,0x1a]
36 vscclrmhi {s3-s31, vpr}
38 // CHECK: vscclrm {vpr} @ encoding: [0x9f,0xec,0x00,0x0a]
39 vscclrm {vpr}
41 // CHECK: vscclrm {d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16, d17, d18, d19, d20, d21, d22, d23, d24, d25, d26, d27, d28, d29, d30, d31, vpr} @ encoding: [0x9f,0xec,0x40,0x0b]
42 vscclrm {d0-d31, vpr}
44 // CHECK: vscclrm {d31, vpr} @ encoding: [0xdf,0xec,0x02,0xfb]
45 vscclrm {d31, vpr}
47 // CHECK: vscclrm {s31, d16, vpr} @ encoding: [0xdf,0xec,0x03,0xfa]
48 vscclrm {s31, d16, vpr}
50 // CHECK: vscclrm {s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, d16, d17, d18, d19, d20, d21, d22, d23, d24, d25, d26, d27, d28, d29, d30, d31, vpr} @ encoding: [0x9f,0xec,0x40,0x0a]
51 vscclrm {s0-s31, d16-d31, vpr}
53 // CHECK: vscclrm {s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, d16, d17, d18, d19, d20, d21, d22, d23, d24, d25, d26, d27, d28, d29, d30, d31, vpr} @ encoding: [0x9f,0xec,0x40,0x0a]
54 vscclrm {s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, d16, d17, d18, d19, d20, d21, d22, d23, d24, d25, d26, d27, d28, d29, d30, d31, vpr}
56 // ERROR: non-contiguous register range
57 vscclrm {s0, s3-s4, vpr}
59 // ERROR: non-contiguous register range
60 vscclrm {s31, d16, s30, vpr}
62 // ERROR: register expected
63 vscclrm {s32, vpr}
65 // ERROR: register expected
66 vscclrm {d32, vpr}
68 // ERROR: register expected
69 vscclrm {s31-s32, vpr}
71 // ERROR: register expected
72 vscclrm {d31-d32, vpr}
74 // ERROR: invalid operand for instruction
75 vscclrm {s0-s1}
77 // ERROR: register list not in ascending order
78 vscclrm {vpr, s0}
80 // ERROR: register list not in ascending order
81 vscclrm {vpr, s31}
83 // ERROR: register list not in ascending order
84 vscclrm {vpr, d0}
86 // ERROR: register list not in ascending order
87 vscclrm {vpr, d31}
89 // ERROR: invalid register in register list
90 vscclrm {s0, d0, vpr}
92 // ERROR: invalid register in register list
93 vscclrm {s0, d1, vpr}
95 // ERROR: invalid register in register list
96 vscclrm {d16, s31, vpr}