1 // RUN
: llvm-mc
-triple aarch64-none-linux-gnu
-show-encoding
-mattr
=+spe
< %s | FileCheck
%s
2 // RUN
: llvm-mc
-triple aarch64-none-linux-gnu
-show-encoding
-mcpu
=neoverse-n1
< %s | FileCheck
%s
3 // RUN
: not llvm-mc
-triple aarch64-none-linux-gnu
-show-encoding
< %s
2>&1 | FileCheck
--check-prefix
=NO_SPE
%s
6 // CHECK
: psb csync
// encoding
: [0x3f,0x22,0x03,0xd5]
7 // NO_SPE
: instruction requires
: spe
22 // CHECK
: msr PMBLIMITR_EL1
, x0
// encoding
: [0x00,0x9a,0x18,0xd5]
23 // CHECK
: msr PMBPTR_EL1
, x0
// encoding
: [0x20,0x9a,0x18,0xd5]
24 // CHECK
: msr PMBSR_EL1
, x0
// encoding
: [0x60,0x9a,0x18,0xd5]
25 // CHECK
: msr PMBIDR_EL1
, x0
// encoding
: [0xe0,0x9a,0x18,0xd5]
26 // CHECK
: msr PMSCR_EL2
, x0
// encoding
: [0x00,0x99,0x1c,0xd5]
27 // CHECK
: msr PMSCR_EL12
, x0
// encoding
: [0x00,0x99,0x1d,0xd5]
28 // CHECK
: msr PMSCR_EL1
, x0
// encoding
: [0x00,0x99,0x18,0xd5]
29 // CHECK
: msr PMSICR_EL1
, x0
// encoding
: [0x40,0x99,0x18,0xd5]
30 // CHECK
: msr PMSIRR_EL1
, x0
// encoding
: [0x60,0x99,0x18,0xd5]
31 // CHECK
: msr PMSFCR_EL1
, x0
// encoding
: [0x80,0x99,0x18,0xd5]
32 // CHECK
: msr PMSEVFR_EL1
, x0
// encoding
: [0xa0,0x99,0x18,0xd5]
33 // CHECK
: msr PMSLATFR_EL1
, x0
// encoding
: [0xc0,0x99,0x18,0xd5]
34 // CHECK
: msr PMSIDR_EL1
, x0
// encoding
: [0xe0,0x99,0x18,0xd5]
35 // NO_SPE
: error
: expected writable system register
or pstate
36 // NO_SPE
: error
: expected writable system register
or pstate
37 // NO_SPE
: error
: expected writable system register
or pstate
38 // NO_SPE
: error
: expected writable system register
or pstate
39 // NO_SPE
: error
: expected writable system register
or pstate
40 // NO_SPE
: error
: expected writable system register
or pstate
41 // NO_SPE
: error
: expected writable system register
or pstate
42 // NO_SPE
: error
: expected writable system register
or pstate
43 // NO_SPE
: error
: expected writable system register
or pstate
44 // NO_SPE
: error
: expected writable system register
or pstate
45 // NO_SPE
: error
: expected writable system register
or pstate
46 // NO_SPE
: error
: expected writable system register
or pstate
47 // NO_SPE
: error
: expected writable system register
or pstate
63 // CHECK
: mrs x0
, PMBLIMITR_EL1
// encoding
: [0x00,0x9a,0x38,0xd5]
64 // CHECK
: mrs x0
, PMBPTR_EL1
// encoding
: [0x20,0x9a,0x38,0xd5]
65 // CHECK
: mrs x0
, PMBSR_EL1
// encoding
: [0x60,0x9a,0x38,0xd5]
66 // CHECK
: mrs x0
, PMBIDR_EL1
// encoding
: [0xe0,0x9a,0x38,0xd5]
67 // CHECK
: mrs x0
, PMSCR_EL2
// encoding
: [0x00,0x99,0x3c,0xd5]
68 // CHECK
: mrs x0
, PMSCR_EL12
// encoding
: [0x00,0x99,0x3d,0xd5]
69 // CHECK
: mrs x0
, PMSCR_EL1
// encoding
: [0x00,0x99,0x38,0xd5]
70 // CHECK
: mrs x0
, PMSICR_EL1
// encoding
: [0x40,0x99,0x38,0xd5]
71 // CHECK
: mrs x0
, PMSIRR_EL1
// encoding
: [0x60,0x99,0x38,0xd5]
72 // CHECK
: mrs x0
, PMSFCR_EL1
// encoding
: [0x80,0x99,0x38,0xd5]
73 // CHECK
: mrs x0
, PMSEVFR_EL1
// encoding
: [0xa0,0x99,0x38,0xd5]
74 // CHECK
: mrs x0
, PMSLATFR_EL1
// encoding
: [0xc0,0x99,0x38,0xd5]
75 // CHECK
: mrs x0
, PMSIDR_EL1
// encoding
: [0xe0,0x99,0x38,0xd5]
76 // NO_SPE
: error
: expected readable system register
77 // NO_SPE
: error
: expected readable system register
78 // NO_SPE
: error
: expected readable system register
79 // NO_SPE
: error
: expected readable system register
80 // NO_SPE
: error
: expected readable system register
81 // NO_SPE
: error
: expected readable system register
82 // NO_SPE
: error
: expected readable system register
83 // NO_SPE
: error
: expected readable system register
84 // NO_SPE
: error
: expected readable system register
85 // NO_SPE
: error
: expected readable system register
86 // NO_SPE
: error
: expected readable system register
87 // NO_SPE
: error
: expected readable system register
88 // NO_SPE
: error
: expected readable system register