File: brbe.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 (149 lines) | stat: -rw-r--r-- 7,105 bytes parent folder | download | duplicates (21)
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
// RUN: not llvm-mc -triple aarch64 -mattr +brbe -show-encoding %s 2>%t | FileCheck %s
// RUN: FileCheck --check-prefix=ERROR %s < %t
// RUN: not llvm-mc -triple aarch64 -show-encoding %s 2>%t
// RUN: FileCheck --check-prefix=ERROR-NO-BRBE %s < %t

msr BRBCR_EL1, x0
mrs x1, BRBCR_EL1
// CHECK: msr     BRBCR_EL1, x0           // encoding: [0x00,0x90,0x11,0xd5]
// CHECK: mrs     x1, BRBCR_EL1           // encoding: [0x01,0x90,0x31,0xd5]
// ERROR-NO-BRBE: [[@LINE-4]]:5: error: expected writable system register
// ERROR-NO-BRBE: [[@LINE-4]]:9: error: expected readable system register

msr BRBCR_EL12, x2
mrs x3, BRBCR_EL12
// CHECK: msr     BRBCR_EL12, x2          // encoding: [0x02,0x90,0x15,0xd5]
// CHECK: mrs     x3, BRBCR_EL12          // encoding: [0x03,0x90,0x35,0xd5]
// ERROR-NO-BRBE: [[@LINE-4]]:5: error: expected writable system register
// ERROR-NO-BRBE: [[@LINE-4]]:9: error: expected readable system register

msr BRBCR_EL2, x4
mrs x5, BRBCR_EL2
// CHECK: msr     BRBCR_EL2, x4           // encoding: [0x04,0x90,0x14,0xd5]
// CHECK: mrs     x5, BRBCR_EL2           // encoding: [0x05,0x90,0x34,0xd5]
// ERROR-NO-BRBE: [[@LINE-4]]:5: error: expected writable system register
// ERROR-NO-BRBE: [[@LINE-4]]:9: error: expected readable system register

msr BRBFCR_EL1, x6
mrs x7, BRBFCR_EL1
// CHECK: msr     BRBFCR_EL1, x6          // encoding: [0x26,0x90,0x11,0xd5]
// CHECK: mrs     x7, BRBFCR_EL1          // encoding: [0x27,0x90,0x31,0xd5]
// ERROR-NO-BRBE: [[@LINE-4]]:5: error: expected writable system register
// ERROR-NO-BRBE: [[@LINE-4]]:9: error: expected readable system register

msr BRBIDR0_EL1, x8
mrs x9, BRBIDR0_EL1
// ERROR: [[@LINE-2]]:5: error: expected writable system register
// CHECK: mrs     x9, BRBIDR0_EL1         // encoding: [0x09,0x92,0x31,0xd5]
// ERROR-NO-BRBE: [[@LINE-4]]:5: error: expected writable system register
// ERROR-NO-BRBE: [[@LINE-4]]:9: error: expected readable system register

msr BRBINFINJ_EL1, x10
mrs x11, BRBINFINJ_EL1
// CHECK: msr     BRBINFINJ_EL1, x10      // encoding: [0x0a,0x91,0x11,0xd5]
// CHECK: mrs     x11, BRBINFINJ_EL1      // encoding: [0x0b,0x91,0x31,0xd5]
// ERROR-NO-BRBE: [[@LINE-4]]:5: error: expected writable system register
// ERROR-NO-BRBE: [[@LINE-4]]:10: error: expected readable system register

msr BRBSRCINJ_EL1, x12
mrs x13, BRBSRCINJ_EL1
// CHECK: msr     BRBSRCINJ_EL1, x12      // encoding: [0x2c,0x91,0x11,0xd5]
// CHECK: mrs     x13, BRBSRCINJ_EL1      // encoding: [0x2d,0x91,0x31,0xd5]
// ERROR-NO-BRBE: [[@LINE-4]]:5: error: expected writable system register
// ERROR-NO-BRBE: [[@LINE-4]]:10: error: expected readable system register

msr BRBTGTINJ_EL1, x14
mrs x15, BRBTGTINJ_EL1
// CHECK: msr     BRBTGTINJ_EL1, x14      // encoding: [0x4e,0x91,0x11,0xd5]
// CHECK: mrs     x15, BRBTGTINJ_EL1      // encoding: [0x4f,0x91,0x31,0xd5]
// ERROR-NO-BRBE: [[@LINE-4]]:5: error: expected writable system register
// ERROR-NO-BRBE: [[@LINE-4]]:10: error: expected readable system register

msr BRBTS_EL1, x16
mrs x17, BRBTS_EL1
// CHECK: msr     BRBTS_EL1, x16          // encoding: [0x50,0x90,0x11,0xd5]
// CHECK: mrs     x17, BRBTS_EL1          // encoding: [0x51,0x90,0x31,0xd5]
// ERROR-NO-BRBE: [[@LINE-4]]:5: error: expected writable system register
// ERROR-NO-BRBE: [[@LINE-4]]:10: error: expected readable system register

// Rather than testing all 32 registers in the three BRBINF/BRBSRC/BRBTGT
// families, I'll test a representative sample, including all bits clear,
// all bits set, each bit set individually, and a couple of intermediate
// patterns.

msr BRBINF0_EL1, x18
mrs x19, BRBINF0_EL1
// ERROR: [[@LINE-2]]:5: error: expected writable system register
// CHECK: mrs     x19, BRBINF0_EL1        // encoding: [0x13,0x80,0x31,0xd5]
// ERROR-NO-BRBE: [[@LINE-4]]:5: error: expected writable system register
// ERROR-NO-BRBE: [[@LINE-4]]:10: error: expected readable system register

msr BRBINF1_EL1, x20
mrs x21, BRBINF1_EL1
// ERROR: [[@LINE-2]]:5: error: expected writable system register
// CHECK: mrs     x21, BRBINF1_EL1        // encoding: [0x15,0x81,0x31,0xd5]
// ERROR-NO-BRBE: [[@LINE-4]]:5: error: expected writable system register
// ERROR-NO-BRBE: [[@LINE-4]]:10: error: expected readable system register

msr BRBINF2_EL1, x22
mrs x23, BRBINF2_EL1
// ERROR: [[@LINE-2]]:5: error: expected writable system register
// CHECK: mrs     x23, BRBINF2_EL1        // encoding: [0x17,0x82,0x31,0xd5]
// ERROR-NO-BRBE: [[@LINE-4]]:5: error: expected writable system register
// ERROR-NO-BRBE: [[@LINE-4]]:10: error: expected readable system register

msr BRBSRC4_EL1, x24
mrs x25, BRBSRC4_EL1
// ERROR: [[@LINE-2]]:5: error: expected writable system register
// CHECK: mrs     x25, BRBSRC4_EL1        // encoding: [0x39,0x84,0x31,0xd5]
// ERROR-NO-BRBE: [[@LINE-4]]:5: error: expected writable system register
// ERROR-NO-BRBE: [[@LINE-4]]:10: error: expected readable system register

msr BRBSRC8_EL1, x26
mrs x27, BRBSRC8_EL1
// ERROR: [[@LINE-2]]:5: error: expected writable system register
// CHECK: mrs     x27, BRBSRC8_EL1        // encoding: [0x3b,0x88,0x31,0xd5]
// ERROR-NO-BRBE: [[@LINE-4]]:5: error: expected writable system register
// ERROR-NO-BRBE: [[@LINE-4]]:10: error: expected readable system register

msr BRBSRC16_EL1, x28
mrs x29, BRBSRC16_EL1
// ERROR: [[@LINE-2]]:5: error: expected writable system register
// CHECK: mrs     x29, BRBSRC16_EL1       // encoding: [0xbd,0x80,0x31,0xd5]
// ERROR-NO-BRBE: [[@LINE-4]]:5: error: expected writable system register
// ERROR-NO-BRBE: [[@LINE-4]]:10: error: expected readable system register

msr BRBTGT10_EL1, x0
mrs x1, BRBTGT10_EL1
// ERROR: [[@LINE-2]]:5: error: expected writable system register
// CHECK: mrs     x1, BRBTGT10_EL1        // encoding: [0x41,0x8a,0x31,0xd5]
// ERROR-NO-BRBE: [[@LINE-4]]:5: error: expected writable system register
// ERROR-NO-BRBE: [[@LINE-4]]:9: error: expected readable system register

msr BRBTGT21_EL1, x2
mrs x3, BRBTGT21_EL1
// ERROR: [[@LINE-2]]:5: error: expected writable system register
// CHECK: mrs     x3, BRBTGT21_EL1        // encoding: [0xc3,0x85,0x31,0xd5]
// ERROR-NO-BRBE: [[@LINE-4]]:5: error: expected writable system register
// ERROR-NO-BRBE: [[@LINE-4]]:9: error: expected readable system register

msr BRBTGT31_EL1, x4
mrs x5, BRBTGT31_EL1
// ERROR: [[@LINE-2]]:5: error: expected writable system register
// CHECK: mrs     x5, BRBTGT31_EL1        // encoding: [0xc5,0x8f,0x31,0xd5]
// ERROR-NO-BRBE: [[@LINE-4]]:5: error: expected writable system register
// ERROR-NO-BRBE: [[@LINE-4]]:9: error: expected readable system register

brb iall
brb inj
// CHECK: brb iall  // encoding: [0x9f,0x72,0x09,0xd5]
// CHECK: brb inj   // encoding: [0xbf,0x72,0x09,0xd5]
// ERROR-NO-BRBE: [[@LINE-4]]:1: error: instruction requires: brbe
// ERROR-NO-BRBE: [[@LINE-4]]:1: error: instruction requires: brbe

brb IALL
brb INJ
// CHECK: brb iall  // encoding: [0x9f,0x72,0x09,0xd5]
// CHECK: brb inj   // encoding: [0xbf,0x72,0x09,0xd5]
// ERROR-NO-BRBE: [[@LINE-4]]:1: error: instruction requires: brbe
// ERROR-NO-BRBE: [[@LINE-4]]:1: error: instruction requires: brbe