File: armv9.4a-gcs.s

package info (click to toggle)
swiftlang 6.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,519,992 kB
  • sloc: cpp: 9,107,863; ansic: 2,040,022; asm: 1,135,751; python: 296,500; objc: 82,456; f90: 60,502; lisp: 34,951; pascal: 19,946; sh: 18,133; perl: 7,482; ml: 4,937; javascript: 4,117; makefile: 3,840; awk: 3,535; xml: 914; fortran: 619; cs: 573; ruby: 573
file content (115 lines) | stat: -rw-r--r-- 4,893 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
// RUN: llvm-mc -triple aarch64 -mattr +gcs -show-encoding %s | FileCheck %s
// RUN: not llvm-mc -triple aarch64 -show-encoding %s 2>%t | FileCheck %s --check-prefix=NO-GCS
// RUN: FileCheck --check-prefix=ERROR-NO-GCS %s < %t

msr GCSCR_EL1, x0
mrs x1, GCSCR_EL1
// CHECK: msr     GCSCR_EL1, x0                   // encoding: [0x00,0x25,0x18,0xd5]
// CHECK: mrs     x1, GCSCR_EL1                   // encoding: [0x01,0x25,0x38,0xd5]

msr GCSPR_EL1, x2
mrs x3, GCSPR_EL1
// CHECK: msr     GCSPR_EL1, x2                   // encoding: [0x22,0x25,0x18,0xd5]
// CHECK: mrs     x3, GCSPR_EL1                   // encoding: [0x23,0x25,0x38,0xd5]

msr GCSCRE0_EL1, x4
mrs x5, GCSCRE0_EL1
// CHECK: msr     GCSCRE0_EL1, x4                 // encoding: [0x44,0x25,0x18,0xd5]
// CHECK: mrs     x5, GCSCRE0_EL1                 // encoding: [0x45,0x25,0x38,0xd5]

msr GCSPR_EL0, x6
mrs x7, GCSPR_EL0
// CHECK: msr     GCSPR_EL0, x6                   // encoding: [0x26,0x25,0x1b,0xd5]
// CHECK: mrs     x7, GCSPR_EL0                   // encoding: [0x27,0x25,0x3b,0xd5]

msr GCSCR_EL2, x10
mrs x11, GCSCR_EL2
// CHECK: msr     GCSCR_EL2, x10                  // encoding: [0x0a,0x25,0x1c,0xd5]
// CHECK: mrs     x11, GCSCR_EL2                  // encoding: [0x0b,0x25,0x3c,0xd5]

msr GCSPR_EL2, x12
mrs x13, GCSPR_EL2
// CHECK: msr     GCSPR_EL2, x12                  // encoding: [0x2c,0x25,0x1c,0xd5]
// CHECK: mrs     x13, GCSPR_EL2                  // encoding: [0x2d,0x25,0x3c,0xd5]

msr GCSCR_EL12, x14
mrs x15, GCSCR_EL12
// CHECK: msr     GCSCR_EL12, x14                 // encoding: [0x0e,0x25,0x1d,0xd5]
// CHECK: mrs     x15, GCSCR_EL12                 // encoding: [0x0f,0x25,0x3d,0xd5]

msr GCSPR_EL12, x16
mrs x17, GCSPR_EL12
// CHECK: msr     GCSPR_EL12, x16                 // encoding: [0x30,0x25,0x1d,0xd5]
// CHECK: mrs     x17, GCSPR_EL12                 // encoding: [0x31,0x25,0x3d,0xd5]

msr GCSCR_EL3, x18
mrs x19, GCSCR_EL3
// CHECK: msr     GCSCR_EL3, x18                  // encoding: [0x12,0x25,0x1e,0xd5]
// CHECK: mrs     x19, GCSCR_EL3                  // encoding: [0x13,0x25,0x3e,0xd5]

msr GCSPR_EL3, x20
mrs x21, GCSPR_EL3
// CHECK: msr     GCSPR_EL3, x20                  // encoding: [0x34,0x25,0x1e,0xd5]
// CHECK: mrs     x21, GCSPR_EL3                  // encoding: [0x35,0x25,0x3e,0xd5]

gcsss1 x21
// CHECK: gcsss1  x21                        // encoding: [0x55,0x77,0x0b,0xd5]
// ERROR-NO-GCS: [[@LINE-2]]:1: error: instruction requires: gcs

gcsss2 x22
// CHECK: gcsss2  x22                        // encoding: [0x76,0x77,0x2b,0xd5]
// ERROR-NO-GCS: [[@LINE-2]]:1: error: instruction requires: gcs

gcspushm x25
// CHECK: gcspushm x25                       // encoding: [0x19,0x77,0x0b,0xd5]
// ERROR-NO-GCS: [[@LINE-2]]:1: error: instruction requires: gcs

gcspopm
// CHECK: gcspopm                             // encoding: [0x3f,0x77,0x2b,0xd5]
// ERROR-NO-GCS: [[@LINE-2]]:1: error: instruction requires: gcs

gcspopm xzr
// CHECK: gcspopm                            // encoding: [0x3f,0x77,0x2b,0xd5]
// ERROR-NO-GCS: [[@LINE-2]]:1: error: instruction requires: gcs

gcspopm x25
// CHECK: gcspopm  x25                        // encoding: [0x39,0x77,0x2b,0xd5]
// ERROR-NO-GCS: [[@LINE-2]]:1: error: instruction requires: gcs

gcsb dsync
// CHECK: gcsb    dsync                           // encoding: [0x7f,0x22,0x03,0xd5]
// ERROR-NO-GCS-NOT: [[@LINE-2]]:1: error: instruction requires: gcs
// NO-GCS: hint #19                              // encoding: [0x7f,0x22,0x03,0xd5]

hint #19
// CHECK: gcsb    dsync                           // encoding: [0x7f,0x22,0x03,0xd5]
// ERROR-NO-GCS-NOT: [[@LINE-2]]:1: error: instruction requires: gcs
// NO-GCS: hint #19                              // encoding: [0x7f,0x22,0x03,0xd5]

gcsstr x26, x27
// CHECK: gcsstr x26, x27                          // encoding: [0x7a,0x0f,0x1f,0xd9]
// ERROR-NO-GCS: [[@LINE-2]]:1: error: instruction requires: gcs

gcsstr x26, sp
// CHECK: gcsstr x26, sp                           // encoding: [0xfa,0x0f,0x1f,0xd9]
// ERROR-NO-GCS: [[@LINE-2]]:1: error: instruction requires: gcs

gcssttr x26, x27
// CHECK: gcssttr x26, x27                         // encoding: [0x7a,0x1f,0x1f,0xd9]
// ERROR-NO-GCS: [[@LINE-2]]:1: error: instruction requires: gcs

gcssttr x26, sp
// CHECK: gcssttr x26, sp                          // encoding: [0xfa,0x1f,0x1f,0xd9]
// ERROR-NO-GCS: [[@LINE-2]]:1: error: instruction requires: gcs

gcspushx
// CHECK: gcspushx                          // encoding: [0x9f,0x77,0x08,0xd5]
// ERROR-NO-GCS: [[@LINE-2]]:1: error: instruction requires: gcs

gcspopcx
// CHECK: gcspopcx                          // encoding: [0xbf,0x77,0x08,0xd5]
// ERROR-NO-GCS: [[@LINE-2]]:1: error: instruction requires: gcs

gcspopx
// CHECK: gcspopx                           // encoding: [0xdf,0x77,0x08,0xd5]
// ERROR-NO-GCS: [[@LINE-2]]:1: error: instruction requires: gcs