xref: /aosp_15_r20/external/llvm/test/MC/PowerPC/ppc64-encoding-4xx.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# Instructions specific to the PowerPC 4xx embedded controllers:
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfdcr 3, 178                     # encoding: [0x7c,0x72,0x2a,0x86]
7*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfdcr 3, 178                     # encoding: [0x86,0x2a,0x72,0x7c]
8*9880d681SAndroid Build Coastguard Worker            mfdcr 3,178
9*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtdcr 178, 3                     # encoding: [0x7c,0x72,0x2b,0x86]
10*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtdcr 178, 3                     # encoding: [0x86,0x2b,0x72,0x7c]
11*9880d681SAndroid Build Coastguard Worker            mtdcr 178,3
12*9880d681SAndroid Build Coastguard Worker
13*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbrehi 2, 3                     # encoding: [0x7c,0x43,0x07,0x64]
14*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbrehi 2, 3                     # encoding: [0x64,0x07,0x43,0x7c]
15*9880d681SAndroid Build Coastguard Worker            tlbre %r2, %r3, 0
16*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbrelo 2, 3                     # encoding: [0x7c,0x43,0x0f,0x64]
17*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbrelo 2, 3                     # encoding: [0x64,0x0f,0x43,0x7c]
18*9880d681SAndroid Build Coastguard Worker            tlbre %r2, %r3, 1
19*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbrehi 2, 3                     # encoding: [0x7c,0x43,0x07,0x64]
20*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbrehi 2, 3                     # encoding: [0x64,0x07,0x43,0x7c]
21*9880d681SAndroid Build Coastguard Worker            tlbrehi %r2, %r3
22*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbrelo 2, 3                     # encoding: [0x7c,0x43,0x0f,0x64]
23*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbrelo 2, 3                     # encoding: [0x64,0x0f,0x43,0x7c]
24*9880d681SAndroid Build Coastguard Worker            tlbrelo %r2, %r3
25*9880d681SAndroid Build Coastguard Worker
26*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbwehi 2, 3                     # encoding: [0x7c,0x43,0x07,0xa4]
27*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbwehi 2, 3                     # encoding: [0xa4,0x07,0x43,0x7c]
28*9880d681SAndroid Build Coastguard Worker            tlbwe %r2, %r3, 0
29*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbwelo 2, 3                     # encoding: [0x7c,0x43,0x0f,0xa4]
30*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbwelo 2, 3                     # encoding: [0xa4,0x0f,0x43,0x7c]
31*9880d681SAndroid Build Coastguard Worker            tlbwe %r2, %r3, 1
32*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbwehi 2, 3                     # encoding: [0x7c,0x43,0x07,0xa4]
33*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbwehi 2, 3                     # encoding: [0xa4,0x07,0x43,0x7c]
34*9880d681SAndroid Build Coastguard Worker            tlbwehi %r2, %r3
35*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbwelo 2, 3                     # encoding: [0x7c,0x43,0x0f,0xa4]
36*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbwelo 2, 3                     # encoding: [0xa4,0x0f,0x43,0x7c]
37*9880d681SAndroid Build Coastguard Worker            tlbwelo %r2, %r3
38*9880d681SAndroid Build Coastguard Worker
39*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbsx 2, 3, 1                    # encoding: [0x7c,0x43,0x0f,0x24]
40*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbsx 2, 3, 1                    # encoding: [0x24,0x0f,0x43,0x7c]
41*9880d681SAndroid Build Coastguard Worker            tlbsx %r2, %r3, %r1
42*9880d681SAndroid Build Coastguard Worker# CHECK-BE: tlbsx. 2, 3, 1                   # encoding: [0x7c,0x43,0x0f,0x25]
43*9880d681SAndroid Build Coastguard Worker# CHECK-LE: tlbsx. 2, 3, 1                   # encoding: [0x25,0x0f,0x43,0x7c]
44*9880d681SAndroid Build Coastguard Worker            tlbsx. %r2, %r3, %r1
45*9880d681SAndroid Build Coastguard Worker
46*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfdccr 2                         # encoding: [0x7c,0x5a,0xfa,0xa6]
47*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfdccr 2                         # encoding: [0xa6,0xfa,0x5a,0x7c]
48*9880d681SAndroid Build Coastguard Worker            mfdccr %r2
49*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtdccr 2                         # encoding: [0x7c,0x5a,0xfb,0xa6]
50*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtdccr 2                         # encoding: [0xa6,0xfb,0x5a,0x7c]
51*9880d681SAndroid Build Coastguard Worker            mtdccr %r2
52*9880d681SAndroid Build Coastguard Worker
53*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mficcr 2                         # encoding: [0x7c,0x5b,0xfa,0xa6]
54*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mficcr 2                         # encoding: [0xa6,0xfa,0x5b,0x7c]
55*9880d681SAndroid Build Coastguard Worker            mficcr %r2
56*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mticcr 2                         # encoding: [0x7c,0x5b,0xfb,0xa6]
57*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mticcr 2                         # encoding: [0xa6,0xfb,0x5b,0x7c]
58*9880d681SAndroid Build Coastguard Worker            mticcr %r2
59*9880d681SAndroid Build Coastguard Worker
60*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfdear 2                        # encoding: [0x7c,0x55,0xf2,0xa6]
61*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfdear 2                        # encoding: [0xa6,0xf2,0x55,0x7c]
62*9880d681SAndroid Build Coastguard Worker            mfdear %r2
63*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtdear 2                        # encoding: [0x7c,0x55,0xf3,0xa6]
64*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtdear 2                        # encoding: [0xa6,0xf3,0x55,0x7c]
65*9880d681SAndroid Build Coastguard Worker            mtdear %r2
66*9880d681SAndroid Build Coastguard Worker
67*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfesr 2                         # encoding: [0x7c,0x54,0xf2,0xa6]
68*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfesr 2                         # encoding: [0xa6,0xf2,0x54,0x7c]
69*9880d681SAndroid Build Coastguard Worker            mfesr %r2
70*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtesr 2                         # encoding: [0x7c,0x54,0xf3,0xa6]
71*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtesr 2                         # encoding: [0xa6,0xf3,0x54,0x7c]
72*9880d681SAndroid Build Coastguard Worker            mtesr %r2
73*9880d681SAndroid Build Coastguard Worker
74*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mftcr 2                         # encoding: [0x7c,0x5a,0xf2,0xa6]
75*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mftcr 2                         # encoding: [0xa6,0xf2,0x5a,0x7c]
76*9880d681SAndroid Build Coastguard Worker            mftcr %r2
77*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mttcr 2                         # encoding: [0x7c,0x5a,0xf3,0xa6]
78*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mttcr 2                         # encoding: [0xa6,0xf3,0x5a,0x7c]
79*9880d681SAndroid Build Coastguard Worker            mttcr %r2
80*9880d681SAndroid Build Coastguard Worker
81*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mftblo 2                        # encoding: [0x7c,0x5d,0xf2,0xa6]
82*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mftblo 2                        # encoding: [0xa6,0xf2,0x5d,0x7c]
83*9880d681SAndroid Build Coastguard Worker            mftblo %r2
84*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mttblo 2                        # encoding: [0x7c,0x5d,0xf3,0xa6]
85*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mttblo 2                        # encoding: [0xa6,0xf3,0x5d,0x7c]
86*9880d681SAndroid Build Coastguard Worker            mttblo %r2
87*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mftbhi 2                        # encoding: [0x7c,0x5c,0xf2,0xa6]
88*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mftbhi 2                        # encoding: [0xa6,0xf2,0x5c,0x7c]
89*9880d681SAndroid Build Coastguard Worker            mftbhi %r2
90*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mttbhi 2                        # encoding: [0x7c,0x5c,0xf3,0xa6]
91*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mttbhi 2                        # encoding: [0xa6,0xf3,0x5c,0x7c]
92*9880d681SAndroid Build Coastguard Worker            mttbhi %r2
93*9880d681SAndroid Build Coastguard Worker
94*9880d681SAndroid Build Coastguard Worker# CHECK-BE: dccci 5, 6                      # encoding: [0x7c,0x05,0x33,0x8c]
95*9880d681SAndroid Build Coastguard Worker# CHECK-LE: dccci 5, 6                      # encoding: [0x8c,0x33,0x05,0x7c]
96*9880d681SAndroid Build Coastguard Worker            dccci %r5,%r6
97*9880d681SAndroid Build Coastguard Worker# CHECK-BE: iccci 5, 6                      # encoding: [0x7c,0x05,0x37,0x8c]
98*9880d681SAndroid Build Coastguard Worker# CHECK-LE: iccci 5, 6                      # encoding: [0x8c,0x37,0x05,0x7c]
99*9880d681SAndroid Build Coastguard Worker            iccci %r5,%r6
100*9880d681SAndroid Build Coastguard Worker# CHECK-BE: dccci 0, 0                      # encoding: [0x7c,0x00,0x03,0x8c]
101*9880d681SAndroid Build Coastguard Worker# CHECK-LE: dccci 0, 0                      # encoding: [0x8c,0x03,0x00,0x7c]
102*9880d681SAndroid Build Coastguard Worker            dci %r0
103*9880d681SAndroid Build Coastguard Worker# CHECK-BE: iccci 0, 0                      # encoding: [0x7c,0x00,0x07,0x8c]
104*9880d681SAndroid Build Coastguard Worker# CHECK-LE: iccci 0, 0                      # encoding: [0x8c,0x07,0x00,0x7c]
105*9880d681SAndroid Build Coastguard Worker            ici 0
106*9880d681SAndroid Build Coastguard Worker
107*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfsrr2 2                        # encoding: [0x7c,0x5e,0xf2,0xa6]
108*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfsrr2 2                        # encoding: [0xa6,0xf2,0x5e,0x7c]
109*9880d681SAndroid Build Coastguard Worker            mfsrr2 2
110*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtsrr2 2                        # encoding: [0x7c,0x5e,0xf3,0xa6]
111*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtsrr2 2                        # encoding: [0xa6,0xf3,0x5e,0x7c]
112*9880d681SAndroid Build Coastguard Worker            mtsrr2 2
113*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfsrr3 2                        # encoding: [0x7c,0x5f,0xf2,0xa6]
114*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfsrr3 2                        # encoding: [0xa6,0xf2,0x5f,0x7c]
115*9880d681SAndroid Build Coastguard Worker            mfsrr3 2
116*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtsrr3 2                        # encoding: [0x7c,0x5f,0xf3,0xa6]
117*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtsrr3 2                        # encoding: [0xa6,0xf3,0x5f,0x7c]
118*9880d681SAndroid Build Coastguard Worker            mtsrr3 2
119*9880d681SAndroid Build Coastguard Worker
120*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfbr0 5                         # encoding: [0x7c,0xa0,0x22,0x86]
121*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfbr0 5                         # encoding: [0x86,0x22,0xa0,0x7c]
122*9880d681SAndroid Build Coastguard Worker            mfbr0 %r5
123*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtbr0 5                         # encoding: [0x7c,0xa0,0x23,0x86]
124*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtbr0 5                         # encoding: [0x86,0x23,0xa0,0x7c]
125*9880d681SAndroid Build Coastguard Worker            mtbr0 %r5
126*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfbr1 5                         # encoding: [0x7c,0xa1,0x22,0x86]
127*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfbr1 5                         # encoding: [0x86,0x22,0xa1,0x7c]
128*9880d681SAndroid Build Coastguard Worker            mfbr1 %r5
129*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtbr1 5                         # encoding: [0x7c,0xa1,0x23,0x86]
130*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtbr1 5                         # encoding: [0x86,0x23,0xa1,0x7c]
131*9880d681SAndroid Build Coastguard Worker            mtbr1 %r5
132*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfbr2 5                         # encoding: [0x7c,0xa2,0x22,0x86]
133*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfbr2 5                         # encoding: [0x86,0x22,0xa2,0x7c]
134*9880d681SAndroid Build Coastguard Worker            mfbr2 %r5
135*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtbr2 5                         # encoding: [0x7c,0xa2,0x23,0x86]
136*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtbr2 5                         # encoding: [0x86,0x23,0xa2,0x7c]
137*9880d681SAndroid Build Coastguard Worker            mtbr2 %r5
138*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfbr3 5                         # encoding: [0x7c,0xa3,0x22,0x86]
139*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfbr3 5                         # encoding: [0x86,0x22,0xa3,0x7c]
140*9880d681SAndroid Build Coastguard Worker            mfbr3 %r5
141*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtbr3 5                         # encoding: [0x7c,0xa3,0x23,0x86]
142*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtbr3 5                         # encoding: [0x86,0x23,0xa3,0x7c]
143*9880d681SAndroid Build Coastguard Worker            mtbr3 %r5
144*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfbr4 5                         # encoding: [0x7c,0xa4,0x22,0x86]
145*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfbr4 5                         # encoding: [0x86,0x22,0xa4,0x7c]
146*9880d681SAndroid Build Coastguard Worker            mfbr4 %r5
147*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtbr4 5                         # encoding: [0x7c,0xa4,0x23,0x86]
148*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtbr4 5                         # encoding: [0x86,0x23,0xa4,0x7c]
149*9880d681SAndroid Build Coastguard Worker            mtbr4 %r5
150*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfbr5 5                         # encoding: [0x7c,0xa5,0x22,0x86]
151*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfbr5 5                         # encoding: [0x86,0x22,0xa5,0x7c]
152*9880d681SAndroid Build Coastguard Worker            mfbr5 %r5
153*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtbr5 5                         # encoding: [0x7c,0xa5,0x23,0x86]
154*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtbr5 5                         # encoding: [0x86,0x23,0xa5,0x7c]
155*9880d681SAndroid Build Coastguard Worker            mtbr5 %r5
156*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfbr6 5                         # encoding: [0x7c,0xa6,0x22,0x86]
157*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfbr6 5                         # encoding: [0x86,0x22,0xa6,0x7c]
158*9880d681SAndroid Build Coastguard Worker            mfbr6 %r5
159*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtbr6 5                         # encoding: [0x7c,0xa6,0x23,0x86]
160*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtbr6 5                         # encoding: [0x86,0x23,0xa6,0x7c]
161*9880d681SAndroid Build Coastguard Worker            mtbr6 %r5
162*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mfbr7 5                         # encoding: [0x7c,0xa7,0x22,0x86]
163*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mfbr7 5                         # encoding: [0x86,0x22,0xa7,0x7c]
164*9880d681SAndroid Build Coastguard Worker            mfbr7 %r5
165*9880d681SAndroid Build Coastguard Worker# CHECK-BE: mtbr7 5                         # encoding: [0x7c,0xa7,0x23,0x86]
166*9880d681SAndroid Build Coastguard Worker# CHECK-LE: mtbr7 5                         # encoding: [0x86,0x23,0xa7,0x7c]
167*9880d681SAndroid Build Coastguard Worker            mtbr7 %r5
168