1 // RUN
: llvm-mc
-triple aarch64
-show-encoding
-mattr
=+fgt
< %s | FileCheck
%s
2 // RUN
: llvm-mc
-triple aarch64
-show-encoding
-mattr
=+v8.6
a < %s | FileCheck
%s
3 // RUN
: not llvm-mc
-triple aarch64
-show-encoding
< %s
2>&1 | FileCheck
%s
--check-prefix
=NOFGT
11 // CHECK
: msr HFGRTR_EL2
, x0
// encoding
: [0x80,0x11,0x1c,0xd5]
12 // CHECK
: msr HFGWTR_EL2
, x5
// encoding
: [0xa5,0x11,0x1c,0xd5]
13 // CHECK
: msr HFGITR_EL2
, x10
// encoding
: [0xca,0x11,0x1c,0xd5]
14 // CHECK
: msr HDFGRTR_EL2
, x15
// encoding
: [0x8f,0x31,0x1c,0xd5]
15 // CHECK
: msr HDFGWTR_EL2
, x20
// encoding
: [0xb4,0x31,0x1c,0xd5]
16 // CHECK
: msr HAFGRTR_EL2
, x25
// encoding
: [0xd9,0x31,0x1c,0xd5]
17 // NOFGT
: error
: expected writable system register
or pstate
18 // NOFGT
: error
: expected writable system register
or pstate
19 // NOFGT
: error
: expected writable system register
or pstate
20 // NOFGT
: error
: expected writable system register
or pstate
21 // NOFGT
: error
: expected writable system register
or pstate
22 // NOFGT
: error
: expected writable system register
or pstate
30 // CHECK
: mrs x30
, HFGRTR_EL2
// encoding
: [0x9e,0x11,0x3c,0xd5]
31 // CHECK
: mrs x25
, HFGWTR_EL2
// encoding
: [0xb9,0x11,0x3c,0xd5]
32 // CHECK
: mrs x20
, HFGITR_EL2
// encoding
: [0xd4,0x11,0x3c,0xd5]
33 // CHECK
: mrs x15
, HDFGRTR_EL2
// encoding
: [0x8f,0x31,0x3c,0xd5]
34 // CHECK
: mrs x10
, HDFGWTR_EL2
// encoding
: [0xaa,0x31,0x3c,0xd5]
35 // CHECK
: mrs x5
, HAFGRTR_EL2
// encoding
: [0xc5,0x31,0x3c,0xd5]
36 // NOFGT
: error
: expected readable system register
37 // NOFGT
: error
: expected readable system register
38 // NOFGT
: error
: expected readable system register
39 // NOFGT
: error
: expected readable system register
40 // NOFGT
: error
: expected readable system register
41 // NOFGT
: error
: expected readable system register
49 // CHECK
: mrs x3
, HDFGRTR2_EL2
// encoding
: [0x03,0x31,0x3c,0xd5]
50 // CHECK
: mrs x3
, HDFGWTR2_EL2
// encoding
: [0x23,0x31,0x3c,0xd5]
51 // CHECK
: mrs x3
, HFGRTR2_EL2
// encoding
: [0x43,0x31,0x3c,0xd5]
52 // CHECK
: mrs x3
, HFGWTR2_EL2
// encoding
: [0x63,0x31,0x3c,0xd5]
53 // CHECK
: mrs x3
, HFGITR2_EL2
// encoding
: [0xe3,0x31,0x3c,0xd5]
54 // NOFGT
: error
: expected readable system register
55 // NOFGT
: error
: expected readable system register
56 // NOFGT
: error
: expected readable system register
57 // NOFGT
: error
: expected readable system register
58 // NOFGT
: error
: expected readable system register
66 // CHECK
: msr HDFGRTR2_EL2
, x3
// encoding
: [0x03,0x31,0x1c,0xd5]
67 // CHECK
: msr HDFGWTR2_EL2
, x3
// encoding
: [0x23,0x31,0x1c,0xd5]
68 // CHECK
: msr HFGRTR2_EL2
, x3
// encoding
: [0x43,0x31,0x1c,0xd5]
69 // CHECK
: msr HFGWTR2_EL2
, x3
// encoding
: [0x63,0x31,0x1c,0xd5]
70 // CHECK
: msr HFGITR2_EL2
, x3
// encoding
: [0xe3,0x31,0x1c,0xd5]
71 // NOFGT
: error
: expected writable system register
72 // NOFGT
: error
: expected writable system register
73 // NOFGT
: error
: expected writable system register
74 // NOFGT
: error
: expected writable system register
75 // NOFGT
: error
: expected writable system register