[NFC] Include PassID for runBeforePass children.
[llvm-project.git] / llvm / test / MC / AArch64 / armv9.1a-rme.s
blob5f455fbb569c21ec8ce010338ae5d4817b6b49a5
1 // RUN: not llvm-mc -triple aarch64 -mattr +rme -show-encoding %s 2> %t | FileCheck %s
2 // RUN: FileCheck --check-prefix=CHECK-ERROR %s < %t
3 // RUN: not llvm-mc -triple aarch64 -show-encoding %s 2> %t | FileCheck --check-prefix=CHECK-NO-RME %s
4 // RUN: FileCheck --check-prefix=CHECK-NO-RME-ERROR %s < %t
6 msr MFAR_EL3, x0
7 msr GPCCR_EL3, x0
8 msr GPTBR_EL3, x0
9 mrs x0, MFAR_EL3
10 mrs x0, GPCCR_EL3
11 mrs x0, GPTBR_EL3
12 // CHECK: msr MFAR_EL3, x0 // encoding: [0xa0,0x60,0x1e,0xd5]
13 // CHECK: msr GPCCR_EL3, x0 // encoding: [0xc0,0x21,0x1e,0xd5]
14 // CHECK: msr GPTBR_EL3, x0 // encoding: [0x80,0x21,0x1e,0xd5]
15 // CHECK: mrs x0, MFAR_EL3 // encoding: [0xa0,0x60,0x3e,0xd5]
16 // CHECK: mrs x0, GPCCR_EL3 // encoding: [0xc0,0x21,0x3e,0xd5]
17 // CHECK: mrs x0, GPTBR_EL3 // encoding: [0x80,0x21,0x3e,0xd5]
18 // CHECK-NO-RME: msr MFAR_EL3, x0 // encoding: [0xa0,0x60,0x1e,0xd5]
19 // CHECK-NO-RME-ERROR: [[@LINE-12]]:5: error: expected writable system register
20 // CHECK-NO-RME-ERROR: [[@LINE-12]]:5: error: expected writable system register
21 // CHECK-NO-RME: mrs x0, MFAR_EL3 // encoding: [0xa0,0x60,0x3e,0xd5]
22 // CHECK-NO-RME-ERROR: [[@LINE-12]]:9: error: expected readable system register
23 // CHECK-NO-RME-ERROR: [[@LINE-12]]:9: error: expected readable system register
25 tlbi rpaos, x0
26 tlbi rpalos, x0
27 tlbi paallos
28 tlbi paall
29 // CHECK: tlbi rpaos, x0 // encoding: [0x60,0x84,0x0e,0xd5]
30 // CHECK: tlbi rpalos, x0 // encoding: [0xe0,0x84,0x0e,0xd5]
31 // CHECK: tlbi paallos // encoding: [0x9f,0x81,0x0e,0xd5]
32 // CHECK: tlbi paall // encoding: [0x9f,0x87,0x0e,0xd5]
33 // CHECK-NO-RME-ERROR: [[@LINE-8]]:6: error: TLBI RPAOS requires: rme
34 // CHECK-NO-RME-ERROR: [[@LINE-8]]:6: error: TLBI RPALOS requires: rme
35 // CHECK-NO-RME-ERROR: [[@LINE-8]]:6: error: TLBI PAALLOS requires: rme
36 // CHECK-NO-RME-ERROR: [[@LINE-8]]:6: error: TLBI PAALL requires: rme
38 tlbi RPAOS
39 tlbi RPALOS
40 tlbi PAALLOS, x25
41 tlbi PAALL, x25
42 // CHECK-ERROR: error: specified {{TLBI|tlbi}} op requires a register
43 // CHECK-ERROR-NEXT: tlbi RPAOS
44 // CHECK-ERROR-NEXT: ^
45 // CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register
46 // CHECK-ERROR-NEXT: tlbi RPALOS
47 // CHECK-ERROR-NEXT: ^
48 // CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register
49 // CHECK-ERROR-NEXT: tlbi PAALLOS, x25
50 // CHECK-ERROR-NEXT: ^
51 // CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register
52 // CHECK-ERROR-NEXT: tlbi PAALL, x25
53 // CHECK-ERROR-NEXT: ^
54 // CHECK-NO-RME-ERROR: [[@LINE-16]]:6: error: TLBI RPAOS requires: rme
55 // CHECK-NO-RME-ERROR: [[@LINE-16]]:6: error: TLBI RPALOS requires: rme
56 // CHECK-NO-RME-ERROR: [[@LINE-16]]:6: error: TLBI PAALLOS requires: rme
57 // CHECK-NO-RME-ERROR: [[@LINE-16]]:6: error: TLBI PAALL requires: rme
59 sys #6, c8, c4, #3
60 sys #6, c8, c4, #7
61 sys #6, c8, c1, #4
62 sys #6, c8, c7, #4
63 // CHECK: tlbi rpaos
64 // CHECK: tlbi rpalos
65 // CHECK: tlbi paallos
66 // CHECK: tlbi paall
67 // CHECK-NO-RME: sys #6, c8, c4, #3
68 // CHECK-NO-RME: sys #6, c8, c4, #7
69 // CHECK-NO-RME: sys #6, c8, c1, #4
70 // CHECK-NO-RME: sys #6, c8, c7, #4
72 dc cigdpapa, x0
73 dc cipapa, x0
74 // CHECK: dc cigdpapa, x0 // encoding: [0xa0,0x7e,0x0e,0xd5]
75 // CHECK: dc cipapa, x0 // encoding: [0x20,0x7e,0x0e,0xd5]