xref: /aosp_15_r20/external/llvm/test/MC/Mips/mips-hwr-register-names.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker# Check the hardware registers
2*9880d681SAndroid Build Coastguard Worker#
3*9880d681SAndroid Build Coastguard Worker# FIXME: Use the code generator in order to print the .set directives
4*9880d681SAndroid Build Coastguard Worker#        instead of the instruction printer.
5*9880d681SAndroid Build Coastguard Worker#
6*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips32r2 | \
7*9880d681SAndroid Build Coastguard Worker# RUN:      FileCheck %s
8*9880d681SAndroid Build Coastguard Worker        .set noat
9*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
10*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
11*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $hwr_cpunum
12*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0x00,0x3b]
13*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$hwr_cpunum
14*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
15*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
16*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $hwr_cpunum
17*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0x00,0x3b]
18*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$0
19*9880d681SAndroid Build Coastguard Worker
20*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
21*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
22*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $5, $hwr_synci_step
23*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x05,0x08,0x3b]
24*9880d681SAndroid Build Coastguard Worker        rdhwr     $a1,$hwr_synci_step
25*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
26*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
27*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $5, $hwr_synci_step
28*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x05,0x08,0x3b]
29*9880d681SAndroid Build Coastguard Worker        rdhwr     $a1,$1
30*9880d681SAndroid Build Coastguard Worker
31*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
32*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
33*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $6, $hwr_cc
34*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x06,0x10,0x3b]
35*9880d681SAndroid Build Coastguard Worker        rdhwr     $a2,$hwr_cc
36*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
37*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
38*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $6, $hwr_cc
39*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x06,0x10,0x3b]
40*9880d681SAndroid Build Coastguard Worker        rdhwr     $a2,$2
41*9880d681SAndroid Build Coastguard Worker
42*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
43*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
44*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $7, $hwr_ccres
45*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x07,0x18,0x3b]
46*9880d681SAndroid Build Coastguard Worker        rdhwr     $a3,$hwr_ccres
47*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
48*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
49*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $7, $hwr_ccres
50*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x07,0x18,0x3b]
51*9880d681SAndroid Build Coastguard Worker        rdhwr     $a3,$3
52*9880d681SAndroid Build Coastguard Worker
53*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
54*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
55*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $4
56*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0x20,0x3b]
57*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$4
58*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
59*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
60*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $5
61*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0x28,0x3b]
62*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$5
63*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
64*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
65*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $6
66*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0x30,0x3b]
67*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$6
68*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
69*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
70*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $7
71*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0x38,0x3b]
72*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$7
73*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
74*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
75*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $8
76*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0x40,0x3b]
77*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$8
78*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
79*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
80*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $9
81*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0x48,0x3b]
82*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$9
83*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
84*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
85*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $10
86*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0x50,0x3b]
87*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$10
88*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
89*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
90*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $11
91*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0x58,0x3b]
92*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$11
93*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
94*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
95*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $12
96*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0x60,0x3b]
97*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$12
98*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
99*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
100*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $13
101*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0x68,0x3b]
102*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$13
103*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
104*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
105*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $14
106*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0x70,0x3b]
107*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$14
108*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
109*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
110*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $15
111*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0x78,0x3b]
112*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$15
113*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
114*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
115*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $16
116*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0x80,0x3b]
117*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$16
118*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
119*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
120*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $17
121*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0x88,0x3b]
122*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$17
123*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
124*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
125*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $18
126*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0x90,0x3b]
127*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$18
128*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
129*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
130*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $19
131*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0x98,0x3b]
132*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$19
133*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
134*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
135*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $20
136*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0xa0,0x3b]
137*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$20
138*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
139*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
140*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $21
141*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0xa8,0x3b]
142*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$21
143*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
144*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
145*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $22
146*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0xb0,0x3b]
147*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$22
148*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
149*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
150*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $23
151*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0xb8,0x3b]
152*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$23
153*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
154*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
155*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $24
156*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0xc0,0x3b]
157*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$24
158*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
159*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
160*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $25
161*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0xc8,0x3b]
162*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$25
163*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
164*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
165*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $26
166*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0xd0,0x3b]
167*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$26
168*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
169*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
170*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $27
171*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0xd8,0x3b]
172*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$27
173*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
174*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
175*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $28
176*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0xe0,0x3b]
177*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$28
178*9880d681SAndroid Build Coastguard Worker
179*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
180*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
181*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $29
182*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0xe8,0x3b]
183*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$29
184*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
185*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
186*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $29
187*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0xe8,0x3b]
188*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$hwr_ulr
189*9880d681SAndroid Build Coastguard Worker
190*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
191*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
192*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $30
193*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0xf0,0x3b]
194*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$30
195*9880d681SAndroid Build Coastguard Worker        # CHECK:      .set    push
196*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    mips32r2
197*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: rdhwr   $4, $31
198*9880d681SAndroid Build Coastguard Worker        # CHECK-NEXT: .set    pop             # encoding: [0x7c,0x04,0xf8,0x3b]
199*9880d681SAndroid Build Coastguard Worker        rdhwr     $a0,$31
200