xref: /aosp_15_r20/external/llvm/test/MC/PowerPC/ppc64-encoding-bookIII.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -triple powerpc64-unknown-unknown --show-encoding %s | FileCheck -check-prefix=CHECK-BE %s
2*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -triple powerpc64le-unknown-unknown --show-encoding %s | FileCheck -check-prefix=CHECK-LE %s
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtmsr 4                          # encoding: [0x7c,0x80,0x01,0x24]
5*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtmsr 4                          # encoding: [0x24,0x01,0x80,0x7c]
6*9880d681SAndroid Build Coastguard Worker            mtmsr %r4
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtmsr 4, 1                       # encoding: [0x7c,0x81,0x01,0x24]
9*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtmsr 4, 1                       # encoding: [0x24,0x01,0x81,0x7c]
10*9880d681SAndroid Build Coastguard Worker            mtmsr %r4, 1
11*9880d681SAndroid Build Coastguard Worker
12*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfmsr 4                         # encoding: [0x7c,0x80,0x00,0xa6]
13*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfmsr 4                         # encoding: [0xa6,0x00,0x80,0x7c]
14*9880d681SAndroid Build Coastguard Worker            mfmsr %r4
15*9880d681SAndroid Build Coastguard Worker
16*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtmsrd 4                        # encoding: [0x7c,0x80,0x01,0x64]
17*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtmsrd 4                        # encoding: [0x64,0x01,0x80,0x7c]
18*9880d681SAndroid Build Coastguard Worker            mtmsrd %r4
19*9880d681SAndroid Build Coastguard Worker
20*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtmsrd 4, 1                     # encoding: [0x7c,0x81,0x01,0x64]
21*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtmsrd 4, 1                     # encoding: [0x64,0x01,0x81,0x7c]
22*9880d681SAndroid Build Coastguard Worker            mtmsrd %r4, 1
23*9880d681SAndroid Build Coastguard Worker
24*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfspr 4, 260                    # encoding: [0x7c,0x84,0x42,0xa6]
25*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfspr 4, 260                    # encoding: [0xa6,0x42,0x84,0x7c]
26*9880d681SAndroid Build Coastguard Worker            mfsprg %r4, 4
27*9880d681SAndroid Build Coastguard Worker
28*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfspr 4, 261                    # encoding: [0x7c,0x85,0x42,0xa6]
29*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfspr 4, 261                    # encoding: [0xa6,0x42,0x85,0x7c]
30*9880d681SAndroid Build Coastguard Worker            mfsprg %r4, 5
31*9880d681SAndroid Build Coastguard Worker
32*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfspr 4, 262                    # encoding: [0x7c,0x86,0x42,0xa6]
33*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfspr 4, 262                    # encoding: [0xa6,0x42,0x86,0x7c]
34*9880d681SAndroid Build Coastguard Worker            mfsprg %r4, 6
35*9880d681SAndroid Build Coastguard Worker
36*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfspr 4, 263                    # encoding: [0x7c,0x87,0x42,0xa6]
37*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfspr 4, 263                    # encoding: [0xa6,0x42,0x87,0x7c]
38*9880d681SAndroid Build Coastguard Worker            mfsprg %r4, 7
39*9880d681SAndroid Build Coastguard Worker
40*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfspr 2, 260                    # encoding: [0x7c,0x44,0x42,0xa6]
41*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfspr 2, 260                    # encoding: [0xa6,0x42,0x44,0x7c]
42*9880d681SAndroid Build Coastguard Worker            mfsprg4 %r2
43*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfspr 2, 261                    # encoding: [0x7c,0x45,0x42,0xa6]
44*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfspr 2, 261                    # encoding: [0xa6,0x42,0x45,0x7c]
45*9880d681SAndroid Build Coastguard Worker            mfsprg5 %r2
46*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfspr 2, 262                    # encoding: [0x7c,0x46,0x42,0xa6]
47*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfspr 2, 262                    # encoding: [0xa6,0x42,0x46,0x7c]
48*9880d681SAndroid Build Coastguard Worker            mfsprg6 %r2
49*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfspr 2, 263                    # encoding: [0x7c,0x47,0x42,0xa6]
50*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfspr 2, 263                    # encoding: [0xa6,0x42,0x47,0x7c]
51*9880d681SAndroid Build Coastguard Worker            mfsprg7 %r2
52*9880d681SAndroid Build Coastguard Worker
53*9880d681SAndroid Build Coastguard Worker# NOT-CHECK-BE: mtspr 260, 4                    # encoding: [0x7c,0x90,0x43,0xa6]
54*9880d681SAndroid Build Coastguard Worker# NOT-CHECK-LE: mtspr 260, 4                    # encoding: [0xa6,0x43,0x90,0x7c]
55*9880d681SAndroid Build Coastguard Worker            mtsprg 4, %r4
56*9880d681SAndroid Build Coastguard Worker
57*9880d681SAndroid Build Coastguard Worker# NOT-CHECK-BE: mtspr 261, 4                    # encoding: [0x7c,0x91,0x43,0xa6]
58*9880d681SAndroid Build Coastguard Worker# NOT-CHECK-LE: mtspr 261, 4                    # encoding: [0xa6,0x43,0x91,0x7c]
59*9880d681SAndroid Build Coastguard Worker            mtsprg 5, %r4
60*9880d681SAndroid Build Coastguard Worker
61*9880d681SAndroid Build Coastguard Worker# NOT-CHECK-BE: mtspr 262, 4                    # encoding: [0x7c,0x92,0x43,0xa6]
62*9880d681SAndroid Build Coastguard Worker# NOT-CHECK-LE: mtspr 262, 4                    # encoding: [0xa6,0x43,0x92,0x7c]
63*9880d681SAndroid Build Coastguard Worker            mtsprg 6, %r4
64*9880d681SAndroid Build Coastguard Worker
65*9880d681SAndroid Build Coastguard Worker# NOT-CHECK-BE: mtspr 263, 4                    # encoding: [0x7c,0x93,0x43,0xa6]
66*9880d681SAndroid Build Coastguard Worker# NOT-CHECK-LE: mtspr 263, 4                    # encoding: [0xa6,0x43,0x93,0x7c]
67*9880d681SAndroid Build Coastguard Worker            mtsprg 7, %r4
68*9880d681SAndroid Build Coastguard Worker
69*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtspr 260, 4                    # encoding: [0x7c,0x84,0x43,0xa6]
70*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtspr 260, 4                    # encoding: [0xa6,0x43,0x84,0x7c]
71*9880d681SAndroid Build Coastguard Worker            mtsprg4 %r4
72*9880d681SAndroid Build Coastguard Worker
73*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtspr 261, 4                    # encoding: [0x7c,0x85,0x43,0xa6]
74*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtspr 261, 4                    # encoding: [0xa6,0x43,0x85,0x7c]
75*9880d681SAndroid Build Coastguard Worker            mtsprg5 %r4
76*9880d681SAndroid Build Coastguard Worker
77*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtspr 262, 4                    # encoding: [0x7c,0x86,0x43,0xa6]
78*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtspr 262, 4                    # encoding: [0xa6,0x43,0x86,0x7c]
79*9880d681SAndroid Build Coastguard Worker            mtsprg6 %r4
80*9880d681SAndroid Build Coastguard Worker
81*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtspr 263, 4                    # encoding: [0x7c,0x87,0x43,0xa6]
82*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtspr 263, 4                    # encoding: [0xa6,0x43,0x87,0x7c]
83*9880d681SAndroid Build Coastguard Worker            mtsprg7 %r4
84*9880d681SAndroid Build Coastguard Worker
85*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtspr 280, 4                    # encoding: [0x7c,0x98,0x43,0xa6]
86*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtspr 280, 4                    # encoding: [0xa6,0x43,0x98,0x7c]
87*9880d681SAndroid Build Coastguard Worker            mtasr %r4
88*9880d681SAndroid Build Coastguard Worker
89*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfspr 4, 22                     # encoding: [0x7c,0x96,0x02,0xa6]
90*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfspr 4, 22                     # encoding: [0xa6,0x02,0x96,0x7c]
91*9880d681SAndroid Build Coastguard Worker            mfdec %r4
92*9880d681SAndroid Build Coastguard Worker
93*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtspr 22, 4                     # encoding: [0x7c,0x96,0x03,0xa6]
94*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtspr 22, 4                     # encoding: [0xa6,0x03,0x96,0x7c]
95*9880d681SAndroid Build Coastguard Worker            mtdec %r4
96*9880d681SAndroid Build Coastguard Worker
97*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfpvr 4                         # encoding: [0x7c,0x9f,0x42,0xa6]
98*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfpvr 4                         # encoding: [0xa6,0x42,0x9f,0x7c]
99*9880d681SAndroid Build Coastguard Worker            mfpvr %r4
100*9880d681SAndroid Build Coastguard Worker
101*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfspr 4, 25                     # encoding: [0x7c,0x99,0x02,0xa6]
102*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfspr 4, 25                     # encoding: [0xa6,0x02,0x99,0x7c]
103*9880d681SAndroid Build Coastguard Worker            mfsdr1 %r4
104*9880d681SAndroid Build Coastguard Worker
105*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtspr 25, 4                     # encoding: [0x7c,0x99,0x03,0xa6]
106*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtspr 25, 4                     # encoding: [0xa6,0x03,0x99,0x7c]
107*9880d681SAndroid Build Coastguard Worker            mtsdr1 %r4
108*9880d681SAndroid Build Coastguard Worker
109*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfspr 4, 26                     # encoding: [0x7c,0x9a,0x02,0xa6]
110*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfspr 4, 26                     # encoding: [0xa6,0x02,0x9a,0x7c]
111*9880d681SAndroid Build Coastguard Worker            mfsrr0 %r4
112*9880d681SAndroid Build Coastguard Worker
113*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtspr 26, 4                     # encoding: [0x7c,0x9a,0x03,0xa6]
114*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtspr 26, 4                     # encoding: [0xa6,0x03,0x9a,0x7c]
115*9880d681SAndroid Build Coastguard Worker            mtsrr0 %r4
116*9880d681SAndroid Build Coastguard Worker
117*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfspr 4, 27                     # encoding: [0x7c,0x9b,0x02,0xa6]
118*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfspr 4, 27                     # encoding: [0xa6,0x02,0x9b,0x7c]
119*9880d681SAndroid Build Coastguard Worker            mfsrr1 %r4
120*9880d681SAndroid Build Coastguard Worker
121*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtspr 27, 4                     # encoding: [0x7c,0x9b,0x03,0xa6]
122*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtspr 27, 4                     # encoding: [0xa6,0x03,0x9b,0x7c]
123*9880d681SAndroid Build Coastguard Worker            mtsrr1 %r4
124*9880d681SAndroid Build Coastguard Worker
125*9880d681SAndroid Build Coastguard Worker# CHECK-BE: slbie 4                         # encoding: [0x7c,0x00,0x23,0x64]
126*9880d681SAndroid Build Coastguard Worker# CHECK-LE: slbie 4                         # encoding: [0x64,0x23,0x00,0x7c]
127*9880d681SAndroid Build Coastguard Worker            slbie %r4
128*9880d681SAndroid Build Coastguard Worker
129*9880d681SAndroid Build Coastguard Worker# CHECK-BE: slbmte 4, 5                     # encoding: [0x7c,0x80,0x2b,0x24]
130*9880d681SAndroid Build Coastguard Worker# CHECK-LE: slbmte 4, 5                     # encoding: [0x24,0x2b,0x80,0x7c]
131*9880d681SAndroid Build Coastguard Worker            slbmte %r4, %r5
132*9880d681SAndroid Build Coastguard Worker
133*9880d681SAndroid Build Coastguard Worker# CHECK-BE: slbmfee 4, 5                    # encoding: [0x7c,0x80,0x2f,0x26]
134*9880d681SAndroid Build Coastguard Worker# CHECK-LE: slbmfee 4, 5                    # encoding: [0x26,0x2f,0x80,0x7c]
135*9880d681SAndroid Build Coastguard Worker            slbmfee %r4, %r5
136*9880d681SAndroid Build Coastguard Worker
137*9880d681SAndroid Build Coastguard Worker# CHECK-BE: slbia                           # encoding: [0x7c,0x00,0x03,0xe4]
138*9880d681SAndroid Build Coastguard Worker# CHECK-LE: slbia                           # encoding: [0xe4,0x03,0x00,0x7c]
139*9880d681SAndroid Build Coastguard Worker            slbia
140*9880d681SAndroid Build Coastguard Worker
141*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbsync                         # encoding: [0x7c,0x00,0x04,0x6c]
142*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbsync                         # encoding: [0x6c,0x04,0x00,0x7c]
143*9880d681SAndroid Build Coastguard Worker            tlbsync
144*9880d681SAndroid Build Coastguard Worker
145*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbiel 4                        # encoding: [0x7c,0x00,0x22,0x24]
146*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbiel 4                        # encoding: [0x24,0x22,0x00,0x7c]
147*9880d681SAndroid Build Coastguard Worker            tlbiel %r4
148*9880d681SAndroid Build Coastguard Worker
149*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbie 4                         # encoding: [0x7c,0x00,0x22,0x64]
150*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbie 4                         # encoding: [0x64,0x22,0x00,0x7c]
151*9880d681SAndroid Build Coastguard Worker            tlbie %r4, 0
152*9880d681SAndroid Build Coastguard Worker
153*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbie 4                         # encoding: [0x7c,0x00,0x22,0x64]
154*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbie 4                         # encoding: [0x64,0x22,0x00,0x7c]
155*9880d681SAndroid Build Coastguard Worker            tlbie %r4
156*9880d681SAndroid Build Coastguard Worker
157*9880d681SAndroid Build Coastguard Worker# CHECK-BE: rfi                             # encoding: [0x4c,0x00,0x00,0x64]
158*9880d681SAndroid Build Coastguard Worker# CHECK-LE: rfi                             # encoding: [0x64,0x00,0x00,0x4c]
159*9880d681SAndroid Build Coastguard Worker            rfi
160*9880d681SAndroid Build Coastguard Worker# CHECK-BE: rfci                            # encoding: [0x4c,0x00,0x00,0x66]
161*9880d681SAndroid Build Coastguard Worker# CHECK-LE: rfci                            # encoding: [0x66,0x00,0x00,0x4c]
162*9880d681SAndroid Build Coastguard Worker            rfci
163*9880d681SAndroid Build Coastguard Worker
164*9880d681SAndroid Build Coastguard Worker# CHECK-BE: wrtee 12                        # encoding: [0x7d,0x80,0x01,0x06]
165*9880d681SAndroid Build Coastguard Worker# CHECK-LE: wrtee 12                        # encoding: [0x06,0x01,0x80,0x7d]
166*9880d681SAndroid Build Coastguard Worker            wrtee %r12
167*9880d681SAndroid Build Coastguard Worker
168*9880d681SAndroid Build Coastguard Worker# CHECK-BE: wrteei 0                        # encoding: [0x7c,0x00,0x01,0x46]
169*9880d681SAndroid Build Coastguard Worker# CHECK-LE: wrteei 0                        # encoding: [0x46,0x01,0x00,0x7c]
170*9880d681SAndroid Build Coastguard Worker            wrteei 0
171*9880d681SAndroid Build Coastguard Worker
172*9880d681SAndroid Build Coastguard Worker# CHECK-BE: wrteei 1                        # encoding: [0x7c,0x00,0x81,0x46]
173*9880d681SAndroid Build Coastguard Worker# CHECK-LE: wrteei 1                        # encoding: [0x46,0x81,0x00,0x7c]
174*9880d681SAndroid Build Coastguard Worker            wrteei 1
175*9880d681SAndroid Build Coastguard Worker
176*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbre                           # encoding: [0x7c,0x00,0x07,0x64]
177*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbre                           # encoding: [0x64,0x07,0x00,0x7c]
178*9880d681SAndroid Build Coastguard Worker            tlbre
179*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbwe                           # encoding: [0x7c,0x00,0x07,0xa4]
180*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbwe                           # encoding: [0xa4,0x07,0x00,0x7c]
181*9880d681SAndroid Build Coastguard Worker            tlbwe
182*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbivax 11, 12                  # encoding: [0x7c,0x0b,0x66,0x24]
183*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbivax 11, 12                  # encoding: [0x24,0x66,0x0b,0x7c]
184*9880d681SAndroid Build Coastguard Worker            tlbivax %r11, %r12
185*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbsx 11, 12                    # encoding: [0x7c,0x0b,0x67,0x24]
186*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbsx 11, 12                    # encoding: [0x24,0x67,0x0b,0x7c]
187*9880d681SAndroid Build Coastguard Worker            tlbsx %r11, %r12
188