1 // RUN
: llvm-mc
-triple aarch64
-mattr
+gcs
-show-encoding
%s | FileCheck
%s
2 // RUN
: not llvm-mc
-triple aarch64
-show-encoding
%s
2>%t | FileCheck
%s
--check-prefix
=NO-GCS
3 // RUN
: FileCheck
--check-prefix
=ERROR-NO-GCS
%s
< %t
7 // CHECK
: msr GCSCR_EL1
, x0
// encoding
: [0x00,0x25,0x18,0xd5]
8 // CHECK
: mrs x1
, GCSCR_EL1
// encoding
: [0x01,0x25,0x38,0xd5]
12 // CHECK
: msr GCSPR_EL1
, x2
// encoding
: [0x22,0x25,0x18,0xd5]
13 // CHECK
: mrs x3
, GCSPR_EL1
// encoding
: [0x23,0x25,0x38,0xd5]
17 // CHECK
: msr GCSCRE0_EL1
, x4
// encoding
: [0x44,0x25,0x18,0xd5]
18 // CHECK
: mrs x5
, GCSCRE0_EL1
// encoding
: [0x45,0x25,0x38,0xd5]
22 // CHECK
: msr GCSPR_EL0
, x6
// encoding
: [0x26,0x25,0x1b,0xd5]
23 // CHECK
: mrs x7
, GCSPR_EL0
// encoding
: [0x27,0x25,0x3b,0xd5]
27 // CHECK
: msr GCSCR_EL2
, x10
// encoding
: [0x0a,0x25,0x1c,0xd5]
28 // CHECK
: mrs x11
, GCSCR_EL2
// encoding
: [0x0b,0x25,0x3c,0xd5]
32 // CHECK
: msr GCSPR_EL2
, x12
// encoding
: [0x2c,0x25,0x1c,0xd5]
33 // CHECK
: mrs x13
, GCSPR_EL2
// encoding
: [0x2d,0x25,0x3c,0xd5]
37 // CHECK
: msr GCSCR_EL12
, x14
// encoding
: [0x0e,0x25,0x1d,0xd5]
38 // CHECK
: mrs x15
, GCSCR_EL12
// encoding
: [0x0f,0x25,0x3d,0xd5]
42 // CHECK
: msr GCSPR_EL12
, x16
// encoding
: [0x30,0x25,0x1d,0xd5]
43 // CHECK
: mrs x17
, GCSPR_EL12
// encoding
: [0x31,0x25,0x3d,0xd5]
47 // CHECK
: msr GCSCR_EL3
, x18
// encoding
: [0x12,0x25,0x1e,0xd5]
48 // CHECK
: mrs x19
, GCSCR_EL3
// encoding
: [0x13,0x25,0x3e,0xd5]
52 // CHECK
: msr GCSPR_EL3
, x20
// encoding
: [0x34,0x25,0x1e,0xd5]
53 // CHECK
: mrs x21
, GCSPR_EL3
// encoding
: [0x35,0x25,0x3e,0xd5]
56 // CHECK
: gcsss1 x21
// encoding
: [0x55,0x77,0x0b,0xd5]
57 // ERROR-NO-GCS
: [[@LINE-
2]]:1: error
: instruction requires
: gcs
60 // CHECK
: gcsss2 x22
// encoding
: [0x76,0x77,0x2b,0xd5]
61 // ERROR-NO-GCS
: [[@LINE-
2]]:1: error
: instruction requires
: gcs
64 // CHECK
: gcspushm x25
// encoding
: [0x19,0x77,0x0b,0xd5]
65 // ERROR-NO-GCS
: [[@LINE-
2]]:1: error
: instruction requires
: gcs
68 // CHECK
: gcspopm
// encoding
: [0x3f,0x77,0x2b,0xd5]
69 // ERROR-NO-GCS
: [[@LINE-
2]]:1: error
: instruction requires
: gcs
72 // CHECK
: gcspopm
// encoding
: [0x3f,0x77,0x2b,0xd5]
73 // ERROR-NO-GCS
: [[@LINE-
2]]:1: error
: instruction requires
: gcs
76 // CHECK
: gcspopm x25
// encoding
: [0x39,0x77,0x2b,0xd5]
77 // ERROR-NO-GCS
: [[@LINE-
2]]:1: error
: instruction requires
: gcs
80 // CHECK
: gcsb dsync
// encoding
: [0x7f,0x22,0x03,0xd5]
81 // ERROR-NO-GCS-
NOT: [[@LINE-
2]]:1: error
: instruction requires
: gcs
82 // NO-GCS
: hint
#19 // encoding: [0x7f,0x22,0x03,0xd5]
85 // CHECK
: gcsb dsync
// encoding
: [0x7f,0x22,0x03,0xd5]
86 // ERROR-NO-GCS-
NOT: [[@LINE-
2]]:1: error
: instruction requires
: gcs
87 // NO-GCS
: hint
#19 // encoding: [0x7f,0x22,0x03,0xd5]
90 // CHECK
: gcsstr x26
, [x27
] // encoding
: [0x7a,0x0f,0x1f,0xd9]
91 // ERROR-NO-GCS
: [[@LINE-
2]]:1: error
: instruction requires
: gcs
94 // CHECK
: gcsstr x26
, [sp
] // encoding
: [0xfa,0x0f,0x1f,0xd9]
95 // ERROR-NO-GCS
: [[@LINE-
2]]:1: error
: instruction requires
: gcs
98 // CHECK
: gcssttr x26
, [x27
] // encoding
: [0x7a,0x1f,0x1f,0xd9]
99 // ERROR-NO-GCS
: [[@LINE-
2]]:1: error
: instruction requires
: gcs
102 // CHECK
: gcssttr x26
, [sp
] // encoding
: [0xfa,0x1f,0x1f,0xd9]
103 // ERROR-NO-GCS
: [[@LINE-
2]]:1: error
: instruction requires
: gcs
106 // CHECK
: gcspushx
// encoding
: [0x9f,0x77,0x08,0xd5]
107 // ERROR-NO-GCS
: [[@LINE-
2]]:1: error
: instruction requires
: gcs
110 // CHECK
: gcspopcx
// encoding
: [0xbf,0x77,0x08,0xd5]
111 // ERROR-NO-GCS
: [[@LINE-
2]]:1: error
: instruction requires
: gcs
114 // CHECK
: gcspopx
// encoding
: [0xdf,0x77,0x08,0xd5]
115 // ERROR-NO-GCS
: [[@LINE-
2]]:1: error
: instruction requires
: gcs