1PPC integer logical insns with two args:
2         and 00000000, 00000000 => 00000000 (00000000 00000000)
3         and 00000000, 000f423f => 00000000 (00000000 00000000)
4         and 00000000, ffffffff => 00000000 (00000000 00000000)
5         and 000f423f, 00000000 => 00000000 (00000000 00000000)
6         and 000f423f, 000f423f => 000f423f (00000000 00000000)
7         and 000f423f, ffffffff => 000f423f (00000000 00000000)
8         and ffffffff, 00000000 => 00000000 (00000000 00000000)
9         and ffffffff, 000f423f => 000f423f (00000000 00000000)
10         and ffffffff, ffffffff => ffffffff (00000000 00000000)
11
12        andc 00000000, 00000000 => 00000000 (00000000 00000000)
13        andc 00000000, 000f423f => 00000000 (00000000 00000000)
14        andc 00000000, ffffffff => 00000000 (00000000 00000000)
15        andc 000f423f, 00000000 => 000f423f (00000000 00000000)
16        andc 000f423f, 000f423f => 00000000 (00000000 00000000)
17        andc 000f423f, ffffffff => 00000000 (00000000 00000000)
18        andc ffffffff, 00000000 => ffffffff (00000000 00000000)
19        andc ffffffff, 000f423f => fff0bdc0 (00000000 00000000)
20        andc ffffffff, ffffffff => 00000000 (00000000 00000000)
21
22         eqv 00000000, 00000000 => ffffffff (00000000 00000000)
23         eqv 00000000, 000f423f => fff0bdc0 (00000000 00000000)
24         eqv 00000000, ffffffff => 00000000 (00000000 00000000)
25         eqv 000f423f, 00000000 => fff0bdc0 (00000000 00000000)
26         eqv 000f423f, 000f423f => ffffffff (00000000 00000000)
27         eqv 000f423f, ffffffff => 000f423f (00000000 00000000)
28         eqv ffffffff, 00000000 => 00000000 (00000000 00000000)
29         eqv ffffffff, 000f423f => 000f423f (00000000 00000000)
30         eqv ffffffff, ffffffff => ffffffff (00000000 00000000)
31
32        nand 00000000, 00000000 => ffffffff (00000000 00000000)
33        nand 00000000, 000f423f => ffffffff (00000000 00000000)
34        nand 00000000, ffffffff => ffffffff (00000000 00000000)
35        nand 000f423f, 00000000 => ffffffff (00000000 00000000)
36        nand 000f423f, 000f423f => fff0bdc0 (00000000 00000000)
37        nand 000f423f, ffffffff => fff0bdc0 (00000000 00000000)
38        nand ffffffff, 00000000 => ffffffff (00000000 00000000)
39        nand ffffffff, 000f423f => fff0bdc0 (00000000 00000000)
40        nand ffffffff, ffffffff => 00000000 (00000000 00000000)
41
42         nor 00000000, 00000000 => ffffffff (00000000 00000000)
43         nor 00000000, 000f423f => fff0bdc0 (00000000 00000000)
44         nor 00000000, ffffffff => 00000000 (00000000 00000000)
45         nor 000f423f, 00000000 => fff0bdc0 (00000000 00000000)
46         nor 000f423f, 000f423f => fff0bdc0 (00000000 00000000)
47         nor 000f423f, ffffffff => 00000000 (00000000 00000000)
48         nor ffffffff, 00000000 => 00000000 (00000000 00000000)
49         nor ffffffff, 000f423f => 00000000 (00000000 00000000)
50         nor ffffffff, ffffffff => 00000000 (00000000 00000000)
51
52          or 00000000, 00000000 => 00000000 (00000000 00000000)
53          or 00000000, 000f423f => 000f423f (00000000 00000000)
54          or 00000000, ffffffff => ffffffff (00000000 00000000)
55          or 000f423f, 00000000 => 000f423f (00000000 00000000)
56          or 000f423f, 000f423f => 000f423f (00000000 00000000)
57          or 000f423f, ffffffff => ffffffff (00000000 00000000)
58          or ffffffff, 00000000 => ffffffff (00000000 00000000)
59          or ffffffff, 000f423f => ffffffff (00000000 00000000)
60          or ffffffff, ffffffff => ffffffff (00000000 00000000)
61
62         orc 00000000, 00000000 => ffffffff (00000000 00000000)
63         orc 00000000, 000f423f => fff0bdc0 (00000000 00000000)
64         orc 00000000, ffffffff => 00000000 (00000000 00000000)
65         orc 000f423f, 00000000 => ffffffff (00000000 00000000)
66         orc 000f423f, 000f423f => ffffffff (00000000 00000000)
67         orc 000f423f, ffffffff => 000f423f (00000000 00000000)
68         orc ffffffff, 00000000 => ffffffff (00000000 00000000)
69         orc ffffffff, 000f423f => ffffffff (00000000 00000000)
70         orc ffffffff, ffffffff => ffffffff (00000000 00000000)
71
72         xor 00000000, 00000000 => 00000000 (00000000 00000000)
73         xor 00000000, 000f423f => 000f423f (00000000 00000000)
74         xor 00000000, ffffffff => ffffffff (00000000 00000000)
75         xor 000f423f, 00000000 => 000f423f (00000000 00000000)
76         xor 000f423f, 000f423f => 00000000 (00000000 00000000)
77         xor 000f423f, ffffffff => fff0bdc0 (00000000 00000000)
78         xor ffffffff, 00000000 => ffffffff (00000000 00000000)
79         xor ffffffff, 000f423f => fff0bdc0 (00000000 00000000)
80         xor ffffffff, ffffffff => 00000000 (00000000 00000000)
81
82         slw 00000000, 00000000 => 00000000 (00000000 00000000)
83         slw 00000000, 000f423f => 00000000 (00000000 00000000)
84         slw 00000000, ffffffff => 00000000 (00000000 00000000)
85         slw 000f423f, 00000000 => 000f423f (00000000 00000000)
86         slw 000f423f, 000f423f => 00000000 (00000000 00000000)
87         slw 000f423f, ffffffff => 00000000 (00000000 00000000)
88         slw ffffffff, 00000000 => ffffffff (00000000 00000000)
89         slw ffffffff, 000f423f => 00000000 (00000000 00000000)
90         slw ffffffff, ffffffff => 00000000 (00000000 00000000)
91
92        sraw 00000000, 00000000 => 00000000 (00000000 00000000)
93        sraw 00000000, 000f423f => 00000000 (00000000 00000000)
94        sraw 00000000, ffffffff => 00000000 (00000000 00000000)
95        sraw 000f423f, 00000000 => 000f423f (00000000 00000000)
96        sraw 000f423f, 000f423f => 00000000 (00000000 00000000)
97        sraw 000f423f, ffffffff => 00000000 (00000000 00000000)
98        sraw ffffffff, 00000000 => ffffffff (00000000 00000000)
99        sraw ffffffff, 000f423f => ffffffff (00000000 20000000)
100        sraw ffffffff, ffffffff => ffffffff (00000000 20000000)
101
102         srw 00000000, 00000000 => 00000000 (00000000 00000000)
103         srw 00000000, 000f423f => 00000000 (00000000 00000000)
104         srw 00000000, ffffffff => 00000000 (00000000 00000000)
105         srw 000f423f, 00000000 => 000f423f (00000000 00000000)
106         srw 000f423f, 000f423f => 00000000 (00000000 00000000)
107         srw 000f423f, ffffffff => 00000000 (00000000 00000000)
108         srw ffffffff, 00000000 => ffffffff (00000000 00000000)
109         srw ffffffff, 000f423f => 00000000 (00000000 00000000)
110         srw ffffffff, ffffffff => 00000000 (00000000 00000000)
111
112PPC integer logical insns with two args with flags update:
113        and. 00000000, 00000000 => 00000000 (20000000 00000000)
114        and. 00000000, 000f423f => 00000000 (20000000 00000000)
115        and. 00000000, ffffffff => 00000000 (20000000 00000000)
116        and. 000f423f, 00000000 => 00000000 (20000000 00000000)
117        and. 000f423f, 000f423f => 000f423f (40000000 00000000)
118        and. 000f423f, ffffffff => 000f423f (40000000 00000000)
119        and. ffffffff, 00000000 => 00000000 (20000000 00000000)
120        and. ffffffff, 000f423f => 000f423f (40000000 00000000)
121        and. ffffffff, ffffffff => ffffffff (80000000 00000000)
122
123       andc. 00000000, 00000000 => 00000000 (20000000 00000000)
124       andc. 00000000, 000f423f => 00000000 (20000000 00000000)
125       andc. 00000000, ffffffff => 00000000 (20000000 00000000)
126       andc. 000f423f, 00000000 => 000f423f (40000000 00000000)
127       andc. 000f423f, 000f423f => 00000000 (20000000 00000000)
128       andc. 000f423f, ffffffff => 00000000 (20000000 00000000)
129       andc. ffffffff, 00000000 => ffffffff (80000000 00000000)
130       andc. ffffffff, 000f423f => fff0bdc0 (80000000 00000000)
131       andc. ffffffff, ffffffff => 00000000 (20000000 00000000)
132
133        eqv. 00000000, 00000000 => ffffffff (80000000 00000000)
134        eqv. 00000000, 000f423f => fff0bdc0 (80000000 00000000)
135        eqv. 00000000, ffffffff => 00000000 (20000000 00000000)
136        eqv. 000f423f, 00000000 => fff0bdc0 (80000000 00000000)
137        eqv. 000f423f, 000f423f => ffffffff (80000000 00000000)
138        eqv. 000f423f, ffffffff => 000f423f (40000000 00000000)
139        eqv. ffffffff, 00000000 => 00000000 (20000000 00000000)
140        eqv. ffffffff, 000f423f => 000f423f (40000000 00000000)
141        eqv. ffffffff, ffffffff => ffffffff (80000000 00000000)
142
143       nand. 00000000, 00000000 => ffffffff (80000000 00000000)
144       nand. 00000000, 000f423f => ffffffff (80000000 00000000)
145       nand. 00000000, ffffffff => ffffffff (80000000 00000000)
146       nand. 000f423f, 00000000 => ffffffff (80000000 00000000)
147       nand. 000f423f, 000f423f => fff0bdc0 (80000000 00000000)
148       nand. 000f423f, ffffffff => fff0bdc0 (80000000 00000000)
149       nand. ffffffff, 00000000 => ffffffff (80000000 00000000)
150       nand. ffffffff, 000f423f => fff0bdc0 (80000000 00000000)
151       nand. ffffffff, ffffffff => 00000000 (20000000 00000000)
152
153        nor. 00000000, 00000000 => ffffffff (80000000 00000000)
154        nor. 00000000, 000f423f => fff0bdc0 (80000000 00000000)
155        nor. 00000000, ffffffff => 00000000 (20000000 00000000)
156        nor. 000f423f, 00000000 => fff0bdc0 (80000000 00000000)
157        nor. 000f423f, 000f423f => fff0bdc0 (80000000 00000000)
158        nor. 000f423f, ffffffff => 00000000 (20000000 00000000)
159        nor. ffffffff, 00000000 => 00000000 (20000000 00000000)
160        nor. ffffffff, 000f423f => 00000000 (20000000 00000000)
161        nor. ffffffff, ffffffff => 00000000 (20000000 00000000)
162
163         or. 00000000, 00000000 => 00000000 (20000000 00000000)
164         or. 00000000, 000f423f => 000f423f (40000000 00000000)
165         or. 00000000, ffffffff => ffffffff (80000000 00000000)
166         or. 000f423f, 00000000 => 000f423f (40000000 00000000)
167         or. 000f423f, 000f423f => 000f423f (40000000 00000000)
168         or. 000f423f, ffffffff => ffffffff (80000000 00000000)
169         or. ffffffff, 00000000 => ffffffff (80000000 00000000)
170         or. ffffffff, 000f423f => ffffffff (80000000 00000000)
171         or. ffffffff, ffffffff => ffffffff (80000000 00000000)
172
173        orc. 00000000, 00000000 => ffffffff (80000000 00000000)
174        orc. 00000000, 000f423f => fff0bdc0 (80000000 00000000)
175        orc. 00000000, ffffffff => 00000000 (20000000 00000000)
176        orc. 000f423f, 00000000 => ffffffff (80000000 00000000)
177        orc. 000f423f, 000f423f => ffffffff (80000000 00000000)
178        orc. 000f423f, ffffffff => 000f423f (40000000 00000000)
179        orc. ffffffff, 00000000 => ffffffff (80000000 00000000)
180        orc. ffffffff, 000f423f => ffffffff (80000000 00000000)
181        orc. ffffffff, ffffffff => ffffffff (80000000 00000000)
182
183        xor. 00000000, 00000000 => 00000000 (20000000 00000000)
184        xor. 00000000, 000f423f => 000f423f (40000000 00000000)
185        xor. 00000000, ffffffff => ffffffff (80000000 00000000)
186        xor. 000f423f, 00000000 => 000f423f (40000000 00000000)
187        xor. 000f423f, 000f423f => 00000000 (20000000 00000000)
188        xor. 000f423f, ffffffff => fff0bdc0 (80000000 00000000)
189        xor. ffffffff, 00000000 => ffffffff (80000000 00000000)
190        xor. ffffffff, 000f423f => fff0bdc0 (80000000 00000000)
191        xor. ffffffff, ffffffff => 00000000 (20000000 00000000)
192
193        slw. 00000000, 00000000 => 00000000 (20000000 00000000)
194        slw. 00000000, 000f423f => 00000000 (20000000 00000000)
195        slw. 00000000, ffffffff => 00000000 (20000000 00000000)
196        slw. 000f423f, 00000000 => 000f423f (40000000 00000000)
197        slw. 000f423f, 000f423f => 00000000 (20000000 00000000)
198        slw. 000f423f, ffffffff => 00000000 (20000000 00000000)
199        slw. ffffffff, 00000000 => ffffffff (80000000 00000000)
200        slw. ffffffff, 000f423f => 00000000 (20000000 00000000)
201        slw. ffffffff, ffffffff => 00000000 (20000000 00000000)
202
203       sraw. 00000000, 00000000 => 00000000 (20000000 00000000)
204       sraw. 00000000, 000f423f => 00000000 (20000000 00000000)
205       sraw. 00000000, ffffffff => 00000000 (20000000 00000000)
206       sraw. 000f423f, 00000000 => 000f423f (40000000 00000000)
207       sraw. 000f423f, 000f423f => 00000000 (20000000 00000000)
208       sraw. 000f423f, ffffffff => 00000000 (20000000 00000000)
209       sraw. ffffffff, 00000000 => ffffffff (80000000 00000000)
210       sraw. ffffffff, 000f423f => ffffffff (80000000 20000000)
211       sraw. ffffffff, ffffffff => ffffffff (80000000 20000000)
212
213        srw. 00000000, 00000000 => 00000000 (20000000 00000000)
214        srw. 00000000, 000f423f => 00000000 (20000000 00000000)
215        srw. 00000000, ffffffff => 00000000 (20000000 00000000)
216        srw. 000f423f, 00000000 => 000f423f (40000000 00000000)
217        srw. 000f423f, 000f423f => 00000000 (20000000 00000000)
218        srw. 000f423f, ffffffff => 00000000 (20000000 00000000)
219        srw. ffffffff, 00000000 => ffffffff (80000000 00000000)
220        srw. ffffffff, 000f423f => 00000000 (20000000 00000000)
221        srw. ffffffff, ffffffff => 00000000 (20000000 00000000)
222
223PPC integer compare insns (two args):
224        cmpw 00000000, 00000000 => 00000000 (00200000 00000000)
225        cmpw 00000000, 000f423f => 00000000 (00800000 00000000)
226        cmpw 00000000, ffffffff => 00000000 (00400000 00000000)
227        cmpw 000f423f, 00000000 => 00000000 (00400000 00000000)
228        cmpw 000f423f, 000f423f => 00000000 (00200000 00000000)
229        cmpw 000f423f, ffffffff => 00000000 (00400000 00000000)
230        cmpw ffffffff, 00000000 => 00000000 (00800000 00000000)
231        cmpw ffffffff, 000f423f => 00000000 (00800000 00000000)
232        cmpw ffffffff, ffffffff => 00000000 (00200000 00000000)
233
234       cmplw 00000000, 00000000 => 00000000 (00200000 00000000)
235       cmplw 00000000, 000f423f => 00000000 (00800000 00000000)
236       cmplw 00000000, ffffffff => 00000000 (00800000 00000000)
237       cmplw 000f423f, 00000000 => 00000000 (00400000 00000000)
238       cmplw 000f423f, 000f423f => 00000000 (00200000 00000000)
239       cmplw 000f423f, ffffffff => 00000000 (00800000 00000000)
240       cmplw ffffffff, 00000000 => 00000000 (00400000 00000000)
241       cmplw ffffffff, 000f423f => 00000000 (00400000 00000000)
242       cmplw ffffffff, ffffffff => 00000000 (00200000 00000000)
243
244PPC integer compare with immediate insns (two args):
245       cmpwi 00000000, 00000000 => 00000000 (00200000 00000000)
246       cmpwi 00000000, 000003e7 => 00000000 (00800000 00000000)
247       cmpwi 00000000, 0000ffff => 00000000 (00400000 00000000)
248       cmpwi 000f423f, 00000000 => 00000000 (00400000 00000000)
249       cmpwi 000f423f, 000003e7 => 00000000 (00400000 00000000)
250       cmpwi 000f423f, 0000ffff => 00000000 (00400000 00000000)
251       cmpwi ffffffff, 00000000 => 00000000 (00800000 00000000)
252       cmpwi ffffffff, 000003e7 => 00000000 (00800000 00000000)
253       cmpwi ffffffff, 0000ffff => 00000000 (00200000 00000000)
254
255      cmplwi 00000000, 00000000 => 00000000 (00200000 00000000)
256      cmplwi 00000000, 000003e7 => 00000000 (00800000 00000000)
257      cmplwi 00000000, 0000ffff => 00000000 (00800000 00000000)
258      cmplwi 000f423f, 00000000 => 00000000 (00400000 00000000)
259      cmplwi 000f423f, 000003e7 => 00000000 (00400000 00000000)
260      cmplwi 000f423f, 0000ffff => 00000000 (00400000 00000000)
261      cmplwi ffffffff, 00000000 => 00000000 (00400000 00000000)
262      cmplwi ffffffff, 000003e7 => 00000000 (00400000 00000000)
263      cmplwi ffffffff, 0000ffff => 00000000 (00400000 00000000)
264
265PPC integer logical insns
266    with one register + one 16 bits immediate args:
267         ori 00000000, 00000000 => 00000000 (00000000 00000000)
268         ori 00000000, 000003e7 => 000003e7 (00000000 00000000)
269         ori 00000000, 0000ffff => 0000ffff (00000000 00000000)
270         ori 000f423f, 00000000 => 000f423f (00000000 00000000)
271         ori 000f423f, 000003e7 => 000f43ff (00000000 00000000)
272         ori 000f423f, 0000ffff => 000fffff (00000000 00000000)
273         ori ffffffff, 00000000 => ffffffff (00000000 00000000)
274         ori ffffffff, 000003e7 => ffffffff (00000000 00000000)
275         ori ffffffff, 0000ffff => ffffffff (00000000 00000000)
276
277        oris 00000000, 00000000 => 00000000 (00000000 00000000)
278        oris 00000000, 000003e7 => 03e70000 (00000000 00000000)
279        oris 00000000, 0000ffff => ffff0000 (00000000 00000000)
280        oris 000f423f, 00000000 => 000f423f (00000000 00000000)
281        oris 000f423f, 000003e7 => 03ef423f (00000000 00000000)
282        oris 000f423f, 0000ffff => ffff423f (00000000 00000000)
283        oris ffffffff, 00000000 => ffffffff (00000000 00000000)
284        oris ffffffff, 000003e7 => ffffffff (00000000 00000000)
285        oris ffffffff, 0000ffff => ffffffff (00000000 00000000)
286
287        xori 00000000, 00000000 => 00000000 (00000000 00000000)
288        xori 00000000, 000003e7 => 000003e7 (00000000 00000000)
289        xori 00000000, 0000ffff => 0000ffff (00000000 00000000)
290        xori 000f423f, 00000000 => 000f423f (00000000 00000000)
291        xori 000f423f, 000003e7 => 000f41d8 (00000000 00000000)
292        xori 000f423f, 0000ffff => 000fbdc0 (00000000 00000000)
293        xori ffffffff, 00000000 => ffffffff (00000000 00000000)
294        xori ffffffff, 000003e7 => fffffc18 (00000000 00000000)
295        xori ffffffff, 0000ffff => ffff0000 (00000000 00000000)
296
297       xoris 00000000, 00000000 => 00000000 (00000000 00000000)
298       xoris 00000000, 000003e7 => 03e70000 (00000000 00000000)
299       xoris 00000000, 0000ffff => ffff0000 (00000000 00000000)
300       xoris 000f423f, 00000000 => 000f423f (00000000 00000000)
301       xoris 000f423f, 000003e7 => 03e8423f (00000000 00000000)
302       xoris 000f423f, 0000ffff => fff0423f (00000000 00000000)
303       xoris ffffffff, 00000000 => ffffffff (00000000 00000000)
304       xoris ffffffff, 000003e7 => fc18ffff (00000000 00000000)
305       xoris ffffffff, 0000ffff => 0000ffff (00000000 00000000)
306
307PPC integer logical insns
308    with one register + one 16 bits immediate args with flags update:
309       andi. 00000000, 00000000 => 00000000 (20000000 00000000)
310       andi. 00000000, 000003e7 => 00000000 (20000000 00000000)
311       andi. 00000000, 0000ffff => 00000000 (20000000 00000000)
312       andi. 000f423f, 00000000 => 00000000 (20000000 00000000)
313       andi. 000f423f, 000003e7 => 00000227 (40000000 00000000)
314       andi. 000f423f, 0000ffff => 0000423f (40000000 00000000)
315       andi. ffffffff, 00000000 => 00000000 (20000000 00000000)
316       andi. ffffffff, 000003e7 => 000003e7 (40000000 00000000)
317       andi. ffffffff, 0000ffff => 0000ffff (40000000 00000000)
318
319      andis. 00000000, 00000000 => 00000000 (20000000 00000000)
320      andis. 00000000, 000003e7 => 00000000 (20000000 00000000)
321      andis. 00000000, 0000ffff => 00000000 (20000000 00000000)
322      andis. 000f423f, 00000000 => 00000000 (20000000 00000000)
323      andis. 000f423f, 000003e7 => 00070000 (40000000 00000000)
324      andis. 000f423f, 0000ffff => 000f0000 (40000000 00000000)
325      andis. ffffffff, 00000000 => 00000000 (20000000 00000000)
326      andis. ffffffff, 000003e7 => 03e70000 (40000000 00000000)
327      andis. ffffffff, 0000ffff => ffff0000 (80000000 00000000)
328
329PPC condition register logical insns - two operands:
330       crand 00000000, 00000000 => ffff0000 (00000000 00000000)
331       crand 00000000, 000f423f => ffff0000 (00000000 00000000)
332       crand 00000000, ffffffff => ffff0000 (00000000 00000000)
333       crand 000f423f, 00000000 => ffff0000 (00000000 00000000)
334       crand 000f423f, 000f423f => ffff0000 (00000000 00000000)
335       crand 000f423f, ffffffff => ffff0000 (00000000 00000000)
336       crand ffffffff, 00000000 => ffff0000 (00000000 00000000)
337       crand ffffffff, 000f423f => ffff0000 (00000000 00000000)
338       crand ffffffff, ffffffff => ffff0000 (00000000 00000000)
339
340      crandc 00000000, 00000000 => ffff0000 (00000000 00000000)
341      crandc 00000000, 000f423f => ffff0000 (00000000 00000000)
342      crandc 00000000, ffffffff => ffff0000 (00000000 00000000)
343      crandc 000f423f, 00000000 => ffff0000 (00000000 00000000)
344      crandc 000f423f, 000f423f => ffff0000 (00000000 00000000)
345      crandc 000f423f, ffffffff => ffff0000 (00000000 00000000)
346      crandc ffffffff, 00000000 => ffff0000 (00000000 00000000)
347      crandc ffffffff, 000f423f => ffff0000 (00000000 00000000)
348      crandc ffffffff, ffffffff => ffff0000 (00000000 00000000)
349
350       creqv 00000000, 00000000 => ffff0000 (00004000 00000000)
351       creqv 00000000, 000f423f => ffff0000 (00004000 00000000)
352       creqv 00000000, ffffffff => ffff0000 (00004000 00000000)
353       creqv 000f423f, 00000000 => ffff0000 (00004000 00000000)
354       creqv 000f423f, 000f423f => ffff0000 (00004000 00000000)
355       creqv 000f423f, ffffffff => ffff0000 (00004000 00000000)
356       creqv ffffffff, 00000000 => ffff0000 (00004000 00000000)
357       creqv ffffffff, 000f423f => ffff0000 (00004000 00000000)
358       creqv ffffffff, ffffffff => ffff0000 (00004000 00000000)
359
360      crnand 00000000, 00000000 => ffff0000 (00004000 00000000)
361      crnand 00000000, 000f423f => ffff0000 (00004000 00000000)
362      crnand 00000000, ffffffff => ffff0000 (00004000 00000000)
363      crnand 000f423f, 00000000 => ffff0000 (00004000 00000000)
364      crnand 000f423f, 000f423f => ffff0000 (00004000 00000000)
365      crnand 000f423f, ffffffff => ffff0000 (00004000 00000000)
366      crnand ffffffff, 00000000 => ffff0000 (00004000 00000000)
367      crnand ffffffff, 000f423f => ffff0000 (00004000 00000000)
368      crnand ffffffff, ffffffff => ffff0000 (00004000 00000000)
369
370       crnor 00000000, 00000000 => ffff0000 (00004000 00000000)
371       crnor 00000000, 000f423f => ffff0000 (00004000 00000000)
372       crnor 00000000, ffffffff => ffff0000 (00004000 00000000)
373       crnor 000f423f, 00000000 => ffff0000 (00004000 00000000)
374       crnor 000f423f, 000f423f => ffff0000 (00004000 00000000)
375       crnor 000f423f, ffffffff => ffff0000 (00004000 00000000)
376       crnor ffffffff, 00000000 => ffff0000 (00004000 00000000)
377       crnor ffffffff, 000f423f => ffff0000 (00004000 00000000)
378       crnor ffffffff, ffffffff => ffff0000 (00004000 00000000)
379
380        cror 00000000, 00000000 => ffff0000 (00000000 00000000)
381        cror 00000000, 000f423f => ffff0000 (00000000 00000000)
382        cror 00000000, ffffffff => ffff0000 (00000000 00000000)
383        cror 000f423f, 00000000 => ffff0000 (00000000 00000000)
384        cror 000f423f, 000f423f => ffff0000 (00000000 00000000)
385        cror 000f423f, ffffffff => ffff0000 (00000000 00000000)
386        cror ffffffff, 00000000 => ffff0000 (00000000 00000000)
387        cror ffffffff, 000f423f => ffff0000 (00000000 00000000)
388        cror ffffffff, ffffffff => ffff0000 (00000000 00000000)
389
390       crorc 00000000, 00000000 => ffff0000 (00004000 00000000)
391       crorc 00000000, 000f423f => ffff0000 (00004000 00000000)
392       crorc 00000000, ffffffff => ffff0000 (00004000 00000000)
393       crorc 000f423f, 00000000 => ffff0000 (00004000 00000000)
394       crorc 000f423f, 000f423f => ffff0000 (00004000 00000000)
395       crorc 000f423f, ffffffff => ffff0000 (00004000 00000000)
396       crorc ffffffff, 00000000 => ffff0000 (00004000 00000000)
397       crorc ffffffff, 000f423f => ffff0000 (00004000 00000000)
398       crorc ffffffff, ffffffff => ffff0000 (00004000 00000000)
399
400       crxor 00000000, 00000000 => ffff0000 (00000000 00000000)
401       crxor 00000000, 000f423f => ffff0000 (00000000 00000000)
402       crxor 00000000, ffffffff => ffff0000 (00000000 00000000)
403       crxor 000f423f, 00000000 => ffff0000 (00000000 00000000)
404       crxor 000f423f, 000f423f => ffff0000 (00000000 00000000)
405       crxor 000f423f, ffffffff => ffff0000 (00000000 00000000)
406       crxor ffffffff, 00000000 => ffff0000 (00000000 00000000)
407       crxor ffffffff, 000f423f => ffff0000 (00000000 00000000)
408       crxor ffffffff, ffffffff => ffff0000 (00000000 00000000)
409
410PPC integer logical insns with one arg:
411      cntlzw 00000000 => 00000020 (00000000 00000000)
412      cntlzw 000f423f => 0000000c (00000000 00000000)
413      cntlzw ffffffff => 00000000 (00000000 00000000)
414
415       extsb 00000000 => 00000000 (00000000 00000000)
416       extsb 000f423f => 0000003f (00000000 00000000)
417       extsb ffffffff => ffffffff (00000000 00000000)
418
419       extsh 00000000 => 00000000 (00000000 00000000)
420       extsh 000f423f => 0000423f (00000000 00000000)
421       extsh ffffffff => ffffffff (00000000 00000000)
422
423         neg 00000000 => 00000000 (00000000 00000000)
424         neg 000f423f => fff0bdc1 (00000000 00000000)
425         neg ffffffff => 00000001 (00000000 00000000)
426
427        nego 00000000 => 00000000 (00000000 00000000)
428        nego 000f423f => fff0bdc1 (00000000 00000000)
429        nego ffffffff => 00000001 (00000000 00000000)
430
431PPC integer logical insns with one arg with flags update:
432     cntlzw. 00000000 => 00000020 (40000000 00000000)
433     cntlzw. 000f423f => 0000000c (40000000 00000000)
434     cntlzw. ffffffff => 00000000 (20000000 00000000)
435
436      extsb. 00000000 => 00000000 (20000000 00000000)
437      extsb. 000f423f => 0000003f (40000000 00000000)
438      extsb. ffffffff => ffffffff (80000000 00000000)
439
440      extsh. 00000000 => 00000000 (20000000 00000000)
441      extsh. 000f423f => 0000423f (40000000 00000000)
442      extsh. ffffffff => ffffffff (80000000 00000000)
443
444        neg. 00000000 => 00000000 (20000000 00000000)
445        neg. 000f423f => fff0bdc1 (80000000 00000000)
446        neg. ffffffff => 00000001 (40000000 00000000)
447
448       nego. 00000000 => 00000000 (20000000 00000000)
449       nego. 000f423f => fff0bdc1 (80000000 00000000)
450       nego. ffffffff => 00000001 (40000000 00000000)
451
452PPC logical insns with special forms:
453      rlwimi 00000000,  0,  0,  0 => 00000000 (00000000 00000000)
454      rlwimi 00000000,  0,  0, 31 => 00000000 (00000000 00000000)
455      rlwimi 00000000,  0, 31,  0 => 00000000 (00000000 00000000)
456      rlwimi 00000000,  0, 31, 31 => 00000000 (00000000 00000000)
457      rlwimi 00000000, 31,  0,  0 => 00000000 (00000000 00000000)
458      rlwimi 00000000, 31,  0, 31 => 00000000 (00000000 00000000)
459      rlwimi 00000000, 31, 31,  0 => 00000000 (00000000 00000000)
460      rlwimi 00000000, 31, 31, 31 => 00000000 (00000000 00000000)
461      rlwimi 000f423f,  0,  0,  0 => 00000000 (00000000 00000000)
462      rlwimi 000f423f,  0,  0, 31 => 000f423f (00000000 00000000)
463      rlwimi 000f423f,  0, 31,  0 => 000f423f (00000000 00000000)
464      rlwimi 000f423f,  0, 31, 31 => 000f423f (00000000 00000000)
465      rlwimi 000f423f, 31,  0,  0 => 800f423f (00000000 00000000)
466      rlwimi 000f423f, 31,  0, 31 => 8007a11f (00000000 00000000)
467      rlwimi 000f423f, 31, 31,  0 => 8007a11f (00000000 00000000)
468      rlwimi 000f423f, 31, 31, 31 => 8007a11f (00000000 00000000)
469      rlwimi ffffffff,  0,  0,  0 => 8007a11f (00000000 00000000)
470      rlwimi ffffffff,  0,  0, 31 => ffffffff (00000000 00000000)
471      rlwimi ffffffff,  0, 31,  0 => ffffffff (00000000 00000000)
472      rlwimi ffffffff,  0, 31, 31 => ffffffff (00000000 00000000)
473      rlwimi ffffffff, 31,  0,  0 => ffffffff (00000000 00000000)
474      rlwimi ffffffff, 31,  0, 31 => ffffffff (00000000 00000000)
475      rlwimi ffffffff, 31, 31,  0 => ffffffff (00000000 00000000)
476      rlwimi ffffffff, 31, 31, 31 => ffffffff (00000000 00000000)
477
478      rlwinm 00000000,  0,  0,  0 => 00000000 (00000000 00000000)
479      rlwinm 00000000,  0,  0, 31 => 00000000 (00000000 00000000)
480      rlwinm 00000000,  0, 31,  0 => 00000000 (00000000 00000000)
481      rlwinm 00000000,  0, 31, 31 => 00000000 (00000000 00000000)
482      rlwinm 00000000, 31,  0,  0 => 00000000 (00000000 00000000)
483      rlwinm 00000000, 31,  0, 31 => 00000000 (00000000 00000000)
484      rlwinm 00000000, 31, 31,  0 => 00000000 (00000000 00000000)
485      rlwinm 00000000, 31, 31, 31 => 00000000 (00000000 00000000)
486      rlwinm 000f423f,  0,  0,  0 => 00000000 (00000000 00000000)
487      rlwinm 000f423f,  0,  0, 31 => 000f423f (00000000 00000000)
488      rlwinm 000f423f,  0, 31,  0 => 00000001 (00000000 00000000)
489      rlwinm 000f423f,  0, 31, 31 => 00000001 (00000000 00000000)
490      rlwinm 000f423f, 31,  0,  0 => 80000000 (00000000 00000000)
491      rlwinm 000f423f, 31,  0, 31 => 8007a11f (00000000 00000000)
492      rlwinm 000f423f, 31, 31,  0 => 80000001 (00000000 00000000)
493      rlwinm 000f423f, 31, 31, 31 => 00000001 (00000000 00000000)
494      rlwinm ffffffff,  0,  0,  0 => 80000000 (00000000 00000000)
495      rlwinm ffffffff,  0,  0, 31 => ffffffff (00000000 00000000)
496      rlwinm ffffffff,  0, 31,  0 => 80000001 (00000000 00000000)
497      rlwinm ffffffff,  0, 31, 31 => 00000001 (00000000 00000000)
498      rlwinm ffffffff, 31,  0,  0 => 80000000 (00000000 00000000)
499      rlwinm ffffffff, 31,  0, 31 => ffffffff (00000000 00000000)
500      rlwinm ffffffff, 31, 31,  0 => 80000001 (00000000 00000000)
501      rlwinm ffffffff, 31, 31, 31 => 00000001 (00000000 00000000)
502
503       rlwnm 00000000, 00000000,  0,  0 => 00000000 (00000000 00000000)
504       rlwnm 00000000, 00000000,  0, 31 => 00000000 (00000000 00000000)
505       rlwnm 00000000, 00000000, 31,  0 => 00000000 (00000000 00000000)
506       rlwnm 00000000, 00000000, 31, 31 => 00000000 (00000000 00000000)
507       rlwnm 00000000, 000f423f,  0,  0 => 00000000 (00000000 00000000)
508       rlwnm 00000000, 000f423f,  0, 31 => 00000000 (00000000 00000000)
509       rlwnm 00000000, 000f423f, 31,  0 => 00000000 (00000000 00000000)
510       rlwnm 00000000, 000f423f, 31, 31 => 00000000 (00000000 00000000)
511       rlwnm 00000000, ffffffff,  0,  0 => 00000000 (00000000 00000000)
512       rlwnm 00000000, ffffffff,  0, 31 => 00000000 (00000000 00000000)
513       rlwnm 00000000, ffffffff, 31,  0 => 00000000 (00000000 00000000)
514       rlwnm 00000000, ffffffff, 31, 31 => 00000000 (00000000 00000000)
515       rlwnm 000f423f, 00000000,  0,  0 => 00000000 (00000000 00000000)
516       rlwnm 000f423f, 00000000,  0, 31 => 000f423f (00000000 00000000)
517       rlwnm 000f423f, 00000000, 31,  0 => 00000001 (00000000 00000000)
518       rlwnm 000f423f, 00000000, 31, 31 => 00000001 (00000000 00000000)
519       rlwnm 000f423f, 000f423f,  0,  0 => 80000000 (00000000 00000000)
520       rlwnm 000f423f, 000f423f,  0, 31 => 8007a11f (00000000 00000000)
521       rlwnm 000f423f, 000f423f, 31,  0 => 80000001 (00000000 00000000)
522       rlwnm 000f423f, 000f423f, 31, 31 => 00000001 (00000000 00000000)
523       rlwnm 000f423f, ffffffff,  0,  0 => 80000000 (00000000 00000000)
524       rlwnm 000f423f, ffffffff,  0, 31 => 8007a11f (00000000 00000000)
525       rlwnm 000f423f, ffffffff, 31,  0 => 80000001 (00000000 00000000)
526       rlwnm 000f423f, ffffffff, 31, 31 => 00000001 (00000000 00000000)
527       rlwnm ffffffff, 00000000,  0,  0 => 80000000 (00000000 00000000)
528       rlwnm ffffffff, 00000000,  0, 31 => ffffffff (00000000 00000000)
529       rlwnm ffffffff, 00000000, 31,  0 => 80000001 (00000000 00000000)
530       rlwnm ffffffff, 00000000, 31, 31 => 00000001 (00000000 00000000)
531       rlwnm ffffffff, 000f423f,  0,  0 => 80000000 (00000000 00000000)
532       rlwnm ffffffff, 000f423f,  0, 31 => ffffffff (00000000 00000000)
533       rlwnm ffffffff, 000f423f, 31,  0 => 80000001 (00000000 00000000)
534       rlwnm ffffffff, 000f423f, 31, 31 => 00000001 (00000000 00000000)
535       rlwnm ffffffff, ffffffff,  0,  0 => 80000000 (00000000 00000000)
536       rlwnm ffffffff, ffffffff,  0, 31 => ffffffff (00000000 00000000)
537       rlwnm ffffffff, ffffffff, 31,  0 => 80000001 (00000000 00000000)
538       rlwnm ffffffff, ffffffff, 31, 31 => 00000001 (00000000 00000000)
539
540       srawi 00000000,  0 => 00000000 (00000000 00000000)
541       srawi 00000000, 31 => 00000000 (00000000 00000000)
542       srawi 000f423f,  0 => 000f423f (00000000 00000000)
543       srawi 000f423f, 31 => 00000000 (00000000 00000000)
544       srawi ffffffff,  0 => ffffffff (00000000 00000000)
545       srawi ffffffff, 31 => ffffffff (00000000 20000000)
546
547        mfcr (00000000) => 00000000 (00000000 00000000)
548        mfcr (000f423f) => 000f423f (000f423f 00000000)
549        mfcr (ffffffff) => ffffffff (ffffffff 00000000)
550
551       mfspr 1 (00000000) -> mtxer -> mfxer => 00000000
552       mfspr 1 (000f423f) -> mtxer -> mfxer => 0000003f
553       mfspr 1 (ffffffff) -> mtxer -> mfxer => e000007f
554       mfspr 8 (00000000) ->  mtlr ->  mflr => 00000000
555       mfspr 8 (000f423f) ->  mtlr ->  mflr => 000f423f
556       mfspr 8 (ffffffff) ->  mtlr ->  mflr => ffffffff
557       mfspr 9 (00000000) -> mtctr -> mfctr => 00000000
558       mfspr 9 (000f423f) -> mtctr -> mfctr => 000f423f
559       mfspr 9 (ffffffff) -> mtctr -> mfctr => ffffffff
560
561
562PPC logical insns with special forms with flags update:
563     rlwimi. 00000000,  0,  0,  0 => 00000000 (20000000 00000000)
564     rlwimi. 00000000,  0,  0, 31 => 00000000 (20000000 00000000)
565     rlwimi. 00000000,  0, 31,  0 => 00000000 (20000000 00000000)
566     rlwimi. 00000000,  0, 31, 31 => 00000000 (20000000 00000000)
567     rlwimi. 00000000, 31,  0,  0 => 00000000 (20000000 00000000)
568     rlwimi. 00000000, 31,  0, 31 => 00000000 (20000000 00000000)
569     rlwimi. 00000000, 31, 31,  0 => 00000000 (20000000 00000000)
570     rlwimi. 00000000, 31, 31, 31 => 00000000 (20000000 00000000)
571     rlwimi. 000f423f,  0,  0,  0 => 00000000 (20000000 00000000)
572     rlwimi. 000f423f,  0,  0, 31 => 000f423f (40000000 00000000)
573     rlwimi. 000f423f,  0, 31,  0 => 000f423f (40000000 00000000)
574     rlwimi. 000f423f,  0, 31, 31 => 000f423f (40000000 00000000)
575     rlwimi. 000f423f, 31,  0,  0 => 800f423f (80000000 00000000)
576     rlwimi. 000f423f, 31,  0, 31 => 8007a11f (80000000 00000000)
577     rlwimi. 000f423f, 31, 31,  0 => 8007a11f (80000000 00000000)
578     rlwimi. 000f423f, 31, 31, 31 => 8007a11f (80000000 00000000)
579     rlwimi. ffffffff,  0,  0,  0 => 8007a11f (80000000 00000000)
580     rlwimi. ffffffff,  0,  0, 31 => ffffffff (80000000 00000000)
581     rlwimi. ffffffff,  0, 31,  0 => ffffffff (80000000 00000000)
582     rlwimi. ffffffff,  0, 31, 31 => ffffffff (80000000 00000000)
583     rlwimi. ffffffff, 31,  0,  0 => ffffffff (80000000 00000000)
584     rlwimi. ffffffff, 31,  0, 31 => ffffffff (80000000 00000000)
585     rlwimi. ffffffff, 31, 31,  0 => ffffffff (80000000 00000000)
586     rlwimi. ffffffff, 31, 31, 31 => ffffffff (80000000 00000000)
587
588     rlwinm. 00000000,  0,  0,  0 => 00000000 (20000000 00000000)
589     rlwinm. 00000000,  0,  0, 31 => 00000000 (20000000 00000000)
590     rlwinm. 00000000,  0, 31,  0 => 00000000 (20000000 00000000)
591     rlwinm. 00000000,  0, 31, 31 => 00000000 (20000000 00000000)
592     rlwinm. 00000000, 31,  0,  0 => 00000000 (20000000 00000000)
593     rlwinm. 00000000, 31,  0, 31 => 00000000 (20000000 00000000)
594     rlwinm. 00000000, 31, 31,  0 => 00000000 (20000000 00000000)
595     rlwinm. 00000000, 31, 31, 31 => 00000000 (20000000 00000000)
596     rlwinm. 000f423f,  0,  0,  0 => 00000000 (20000000 00000000)
597     rlwinm. 000f423f,  0,  0, 31 => 000f423f (40000000 00000000)
598     rlwinm. 000f423f,  0, 31,  0 => 00000001 (40000000 00000000)
599     rlwinm. 000f423f,  0, 31, 31 => 00000001 (40000000 00000000)
600     rlwinm. 000f423f, 31,  0,  0 => 80000000 (80000000 00000000)
601     rlwinm. 000f423f, 31,  0, 31 => 8007a11f (80000000 00000000)
602     rlwinm. 000f423f, 31, 31,  0 => 80000001 (80000000 00000000)
603     rlwinm. 000f423f, 31, 31, 31 => 00000001 (40000000 00000000)
604     rlwinm. ffffffff,  0,  0,  0 => 80000000 (80000000 00000000)
605     rlwinm. ffffffff,  0,  0, 31 => ffffffff (80000000 00000000)
606     rlwinm. ffffffff,  0, 31,  0 => 80000001 (80000000 00000000)
607     rlwinm. ffffffff,  0, 31, 31 => 00000001 (40000000 00000000)
608     rlwinm. ffffffff, 31,  0,  0 => 80000000 (80000000 00000000)
609     rlwinm. ffffffff, 31,  0, 31 => ffffffff (80000000 00000000)
610     rlwinm. ffffffff, 31, 31,  0 => 80000001 (80000000 00000000)
611     rlwinm. ffffffff, 31, 31, 31 => 00000001 (40000000 00000000)
612
613      rlwnm. 00000000, 00000000,  0,  0 => 00000000 (20000000 00000000)
614      rlwnm. 00000000, 00000000,  0, 31 => 00000000 (20000000 00000000)
615      rlwnm. 00000000, 00000000, 31,  0 => 00000000 (20000000 00000000)
616      rlwnm. 00000000, 00000000, 31, 31 => 00000000 (20000000 00000000)
617      rlwnm. 00000000, 000f423f,  0,  0 => 00000000 (20000000 00000000)
618      rlwnm. 00000000, 000f423f,  0, 31 => 00000000 (20000000 00000000)
619      rlwnm. 00000000, 000f423f, 31,  0 => 00000000 (20000000 00000000)
620      rlwnm. 00000000, 000f423f, 31, 31 => 00000000 (20000000 00000000)
621      rlwnm. 00000000, ffffffff,  0,  0 => 00000000 (20000000 00000000)
622      rlwnm. 00000000, ffffffff,  0, 31 => 00000000 (20000000 00000000)
623      rlwnm. 00000000, ffffffff, 31,  0 => 00000000 (20000000 00000000)
624      rlwnm. 00000000, ffffffff, 31, 31 => 00000000 (20000000 00000000)
625      rlwnm. 000f423f, 00000000,  0,  0 => 00000000 (20000000 00000000)
626      rlwnm. 000f423f, 00000000,  0, 31 => 000f423f (40000000 00000000)
627      rlwnm. 000f423f, 00000000, 31,  0 => 00000001 (40000000 00000000)
628      rlwnm. 000f423f, 00000000, 31, 31 => 00000001 (40000000 00000000)
629      rlwnm. 000f423f, 000f423f,  0,  0 => 80000000 (80000000 00000000)
630      rlwnm. 000f423f, 000f423f,  0, 31 => 8007a11f (80000000 00000000)
631      rlwnm. 000f423f, 000f423f, 31,  0 => 80000001 (80000000 00000000)
632      rlwnm. 000f423f, 000f423f, 31, 31 => 00000001 (40000000 00000000)
633      rlwnm. 000f423f, ffffffff,  0,  0 => 80000000 (80000000 00000000)
634      rlwnm. 000f423f, ffffffff,  0, 31 => 8007a11f (80000000 00000000)
635      rlwnm. 000f423f, ffffffff, 31,  0 => 80000001 (80000000 00000000)
636      rlwnm. 000f423f, ffffffff, 31, 31 => 00000001 (40000000 00000000)
637      rlwnm. ffffffff, 00000000,  0,  0 => 80000000 (80000000 00000000)
638      rlwnm. ffffffff, 00000000,  0, 31 => ffffffff (80000000 00000000)
639      rlwnm. ffffffff, 00000000, 31,  0 => 80000001 (80000000 00000000)
640      rlwnm. ffffffff, 00000000, 31, 31 => 00000001 (40000000 00000000)
641      rlwnm. ffffffff, 000f423f,  0,  0 => 80000000 (80000000 00000000)
642      rlwnm. ffffffff, 000f423f,  0, 31 => ffffffff (80000000 00000000)
643      rlwnm. ffffffff, 000f423f, 31,  0 => 80000001 (80000000 00000000)
644      rlwnm. ffffffff, 000f423f, 31, 31 => 00000001 (40000000 00000000)
645      rlwnm. ffffffff, ffffffff,  0,  0 => 80000000 (80000000 00000000)
646      rlwnm. ffffffff, ffffffff,  0, 31 => ffffffff (80000000 00000000)
647      rlwnm. ffffffff, ffffffff, 31,  0 => 80000001 (80000000 00000000)
648      rlwnm. ffffffff, ffffffff, 31, 31 => 00000001 (40000000 00000000)
649
650      srawi. 00000000,  0 => 00000000 (20000000 00000000)
651      srawi. 00000000, 31 => 00000000 (20000000 00000000)
652      srawi. 000f423f,  0 => 000f423f (40000000 00000000)
653      srawi. 000f423f, 31 => 00000000 (20000000 00000000)
654      srawi. ffffffff,  0 => ffffffff (80000000 00000000)
655      srawi. ffffffff, 31 => ffffffff (80000000 20000000)
656
657        mcrf 0, 0 (00000000) => (00000000 00000000)
658        mcrf 0, 7 (00000000) => (00000000 00000000)
659        mcrf 7, 0 (00000000) => (00000000 00000000)
660        mcrf 7, 7 (00000000) => (00000000 00000000)
661        mcrf 0, 0 (000f423f) => (000f423f 00000000)
662        mcrf 0, 7 (000f423f) => (f00f423f 00000000)
663        mcrf 7, 0 (000f423f) => (000f4230 00000000)
664        mcrf 7, 7 (000f423f) => (000f423f 00000000)
665        mcrf 0, 0 (ffffffff) => (ffffffff 00000000)
666        mcrf 0, 7 (ffffffff) => (ffffffff 00000000)
667        mcrf 7, 0 (ffffffff) => (ffffffff 00000000)
668        mcrf 7, 7 (ffffffff) => (ffffffff 00000000)
669
670       mcrxr 0 (00000000) => (00000000 00000000)
671       mcrxr 1 (00000000) => (00000000 00000000)
672       mcrxr 2 (00000000) => (00000000 00000000)
673       mcrxr 3 (00000000) => (00000000 00000000)
674       mcrxr 4 (00000000) => (00000000 00000000)
675       mcrxr 5 (00000000) => (00000000 00000000)
676       mcrxr 6 (00000000) => (00000000 00000000)
677       mcrxr 7 (00000000) => (00000000 00000000)
678       mcrxr 0 (10000000) => (00000000 00000000)
679       mcrxr 1 (10000000) => (00000000 00000000)
680       mcrxr 2 (10000000) => (00000000 00000000)
681       mcrxr 3 (10000000) => (00000000 00000000)
682       mcrxr 4 (10000000) => (00000000 00000000)
683       mcrxr 5 (10000000) => (00000000 00000000)
684       mcrxr 6 (10000000) => (00000000 00000000)
685       mcrxr 7 (10000000) => (00000000 00000000)
686       mcrxr 0 (20000000) => (20000000 00000000)
687       mcrxr 1 (20000000) => (02000000 00000000)
688       mcrxr 2 (20000000) => (00200000 00000000)
689       mcrxr 3 (20000000) => (00020000 00000000)
690       mcrxr 4 (20000000) => (00002000 00000000)
691       mcrxr 5 (20000000) => (00000200 00000000)
692       mcrxr 6 (20000000) => (00000020 00000000)
693       mcrxr 7 (20000000) => (00000002 00000000)
694       mcrxr 0 (30000000) => (20000000 00000000)
695       mcrxr 1 (30000000) => (02000000 00000000)
696       mcrxr 2 (30000000) => (00200000 00000000)
697       mcrxr 3 (30000000) => (00020000 00000000)
698       mcrxr 4 (30000000) => (00002000 00000000)
699       mcrxr 5 (30000000) => (00000200 00000000)
700       mcrxr 6 (30000000) => (00000020 00000000)
701       mcrxr 7 (30000000) => (00000002 00000000)
702       mcrxr 0 (40000000) => (40000000 00000000)
703       mcrxr 1 (40000000) => (04000000 00000000)
704       mcrxr 2 (40000000) => (00400000 00000000)
705       mcrxr 3 (40000000) => (00040000 00000000)
706       mcrxr 4 (40000000) => (00004000 00000000)
707       mcrxr 5 (40000000) => (00000400 00000000)
708       mcrxr 6 (40000000) => (00000040 00000000)
709       mcrxr 7 (40000000) => (00000004 00000000)
710       mcrxr 0 (50000000) => (40000000 00000000)
711       mcrxr 1 (50000000) => (04000000 00000000)
712       mcrxr 2 (50000000) => (00400000 00000000)
713       mcrxr 3 (50000000) => (00040000 00000000)
714       mcrxr 4 (50000000) => (00004000 00000000)
715       mcrxr 5 (50000000) => (00000400 00000000)
716       mcrxr 6 (50000000) => (00000040 00000000)
717       mcrxr 7 (50000000) => (00000004 00000000)
718       mcrxr 0 (60000000) => (60000000 00000000)
719       mcrxr 1 (60000000) => (06000000 00000000)
720       mcrxr 2 (60000000) => (00600000 00000000)
721       mcrxr 3 (60000000) => (00060000 00000000)
722       mcrxr 4 (60000000) => (00006000 00000000)
723       mcrxr 5 (60000000) => (00000600 00000000)
724       mcrxr 6 (60000000) => (00000060 00000000)
725       mcrxr 7 (60000000) => (00000006 00000000)
726       mcrxr 0 (70000000) => (60000000 00000000)
727       mcrxr 1 (70000000) => (06000000 00000000)
728       mcrxr 2 (70000000) => (00600000 00000000)
729       mcrxr 3 (70000000) => (00060000 00000000)
730       mcrxr 4 (70000000) => (00006000 00000000)
731       mcrxr 5 (70000000) => (00000600 00000000)
732       mcrxr 6 (70000000) => (00000060 00000000)
733       mcrxr 7 (70000000) => (00000006 00000000)
734       mcrxr 0 (80000000) => (80000000 00000000)
735       mcrxr 1 (80000000) => (08000000 00000000)
736       mcrxr 2 (80000000) => (00800000 00000000)
737       mcrxr 3 (80000000) => (00080000 00000000)
738       mcrxr 4 (80000000) => (00008000 00000000)
739       mcrxr 5 (80000000) => (00000800 00000000)
740       mcrxr 6 (80000000) => (00000080 00000000)
741       mcrxr 7 (80000000) => (00000008 00000000)
742       mcrxr 0 (90000000) => (80000000 00000000)
743       mcrxr 1 (90000000) => (08000000 00000000)
744       mcrxr 2 (90000000) => (00800000 00000000)
745       mcrxr 3 (90000000) => (00080000 00000000)
746       mcrxr 4 (90000000) => (00008000 00000000)
747       mcrxr 5 (90000000) => (00000800 00000000)
748       mcrxr 6 (90000000) => (00000080 00000000)
749       mcrxr 7 (90000000) => (00000008 00000000)
750       mcrxr 0 (a0000000) => (a0000000 00000000)
751       mcrxr 1 (a0000000) => (0a000000 00000000)
752       mcrxr 2 (a0000000) => (00a00000 00000000)
753       mcrxr 3 (a0000000) => (000a0000 00000000)
754       mcrxr 4 (a0000000) => (0000a000 00000000)
755       mcrxr 5 (a0000000) => (00000a00 00000000)
756       mcrxr 6 (a0000000) => (000000a0 00000000)
757       mcrxr 7 (a0000000) => (0000000a 00000000)
758       mcrxr 0 (b0000000) => (a0000000 00000000)
759       mcrxr 1 (b0000000) => (0a000000 00000000)
760       mcrxr 2 (b0000000) => (00a00000 00000000)
761       mcrxr 3 (b0000000) => (000a0000 00000000)
762       mcrxr 4 (b0000000) => (0000a000 00000000)
763       mcrxr 5 (b0000000) => (00000a00 00000000)
764       mcrxr 6 (b0000000) => (000000a0 00000000)
765       mcrxr 7 (b0000000) => (0000000a 00000000)
766       mcrxr 0 (c0000000) => (c0000000 00000000)
767       mcrxr 1 (c0000000) => (0c000000 00000000)
768       mcrxr 2 (c0000000) => (00c00000 00000000)
769       mcrxr 3 (c0000000) => (000c0000 00000000)
770       mcrxr 4 (c0000000) => (0000c000 00000000)
771       mcrxr 5 (c0000000) => (00000c00 00000000)
772       mcrxr 6 (c0000000) => (000000c0 00000000)
773       mcrxr 7 (c0000000) => (0000000c 00000000)
774       mcrxr 0 (d0000000) => (c0000000 00000000)
775       mcrxr 1 (d0000000) => (0c000000 00000000)
776       mcrxr 2 (d0000000) => (00c00000 00000000)
777       mcrxr 3 (d0000000) => (000c0000 00000000)
778       mcrxr 4 (d0000000) => (0000c000 00000000)
779       mcrxr 5 (d0000000) => (00000c00 00000000)
780       mcrxr 6 (d0000000) => (000000c0 00000000)
781       mcrxr 7 (d0000000) => (0000000c 00000000)
782       mcrxr 0 (e0000000) => (e0000000 00000000)
783       mcrxr 1 (e0000000) => (0e000000 00000000)
784       mcrxr 2 (e0000000) => (00e00000 00000000)
785       mcrxr 3 (e0000000) => (000e0000 00000000)
786       mcrxr 4 (e0000000) => (0000e000 00000000)
787       mcrxr 5 (e0000000) => (00000e00 00000000)
788       mcrxr 6 (e0000000) => (000000e0 00000000)
789       mcrxr 7 (e0000000) => (0000000e 00000000)
790       mcrxr 0 (f0000000) => (e0000000 00000000)
791       mcrxr 1 (f0000000) => (0e000000 00000000)
792       mcrxr 2 (f0000000) => (00e00000 00000000)
793       mcrxr 3 (f0000000) => (000e0000 00000000)
794       mcrxr 4 (f0000000) => (0000e000 00000000)
795       mcrxr 5 (f0000000) => (00000e00 00000000)
796       mcrxr 6 (f0000000) => (000000e0 00000000)
797       mcrxr 7 (f0000000) => (0000000e 00000000)
798
799       mtcrf   0, 00000000 => (00000000 00000000)
800       mtcrf  99, 00000000 => (00000000 00000000)
801       mtcrf 198, 00000000 => (00000000 00000000)
802       mtcrf   0, 000f423f => (00000000 00000000)
803       mtcrf  99, 000f423f => (0000003f 00000000)
804       mtcrf 198, 000f423f => (00000230 00000000)
805       mtcrf   0, ffffffff => (00000000 00000000)
806       mtcrf  99, ffffffff => (0ff000ff 00000000)
807       mtcrf 198, ffffffff => (ff000ff0 00000000)
808
809PPC integer load insns
810    with one register + one 16 bits immediate args with flags update:
811         lbz  0, (00000000) => 00000000,  0 (00000000 00000000)
812         lbz  3, (000f423f) => 00000000,  0 (00000000 00000000)
813         lbz  7, (ffffffff) => 0000003f,  0 (00000000 00000000)
814         lbz  1, (ffffffff) => 000000ff,  0 (00000000 00000000)
815         lbz -3, (000f423f) => 0000000f,  0 (00000000 00000000)
816         lbz -7, (00000000) => 00000000,  0 (00000000 00000000)
817
818        lbzu  0, (00000000) => 00000000,  0 (00000000 00000000)
819        lbzu  3, (000f423f) => 00000000,  3 (00000000 00000000)
820        lbzu  7, (ffffffff) => 0000003f,  7 (00000000 00000000)
821        lbzu  1, (ffffffff) => 000000ff,  1 (00000000 00000000)
822        lbzu -3, (000f423f) => 0000000f, -3 (00000000 00000000)
823        lbzu -7, (00000000) => 00000000, -7 (00000000 00000000)
824
825         lha  0, (00000000) => 00000000,  0 (00000000 00000000)
826         lha  3, (000f423f) => 00000000,  0 (00000000 00000000)
827         lha  7, (ffffffff) => 00003fff,  0 (00000000 00000000)
828         lha  1, (ffffffff) => ffffffff,  0 (00000000 00000000)
829         lha -3, (000f423f) => 00000f42,  0 (00000000 00000000)
830         lha -7, (00000000) => 00000000,  0 (00000000 00000000)
831
832        lhau  0, (00000000) => 00000000,  0 (00000000 00000000)
833        lhau  3, (000f423f) => 00000000,  3 (00000000 00000000)
834        lhau  7, (ffffffff) => 00003fff,  7 (00000000 00000000)
835        lhau  1, (ffffffff) => ffffffff,  1 (00000000 00000000)
836        lhau -3, (000f423f) => 00000f42, -3 (00000000 00000000)
837        lhau -7, (00000000) => 00000000, -7 (00000000 00000000)
838
839         lhz  0, (00000000) => 00000000,  0 (00000000 00000000)
840         lhz  3, (000f423f) => 00000000,  0 (00000000 00000000)
841         lhz  7, (ffffffff) => 00003fff,  0 (00000000 00000000)
842         lhz  1, (ffffffff) => 0000ffff,  0 (00000000 00000000)
843         lhz -3, (000f423f) => 00000f42,  0 (00000000 00000000)
844         lhz -7, (00000000) => 00000000,  0 (00000000 00000000)
845
846        lhzu  0, (00000000) => 00000000,  0 (00000000 00000000)
847        lhzu  3, (000f423f) => 00000000,  3 (00000000 00000000)
848        lhzu  7, (ffffffff) => 00003fff,  7 (00000000 00000000)
849        lhzu  1, (ffffffff) => 0000ffff,  1 (00000000 00000000)
850        lhzu -3, (000f423f) => 00000f42, -3 (00000000 00000000)
851        lhzu -7, (00000000) => 00000000, -7 (00000000 00000000)
852
853         lwz  0, (00000000) => 00000000,  0 (00000000 00000000)
854         lwz  3, (000f423f) => 00000f42,  0 (00000000 00000000)
855         lwz  7, (ffffffff) => 3fffffff,  0 (00000000 00000000)
856         lwz  1, (ffffffff) => ffffff00,  0 (00000000 00000000)
857         lwz -3, (000f423f) => 0f423fff,  0 (00000000 00000000)
858         lwz -7, (00000000) => 00000000,  0 (00000000 00000000)
859
860        lwzu  0, (00000000) => 00000000,  0 (00000000 00000000)
861        lwzu  3, (000f423f) => 00000f42,  3 (00000000 00000000)
862        lwzu  7, (ffffffff) => 3fffffff,  7 (00000000 00000000)
863        lwzu  1, (ffffffff) => ffffff00,  1 (00000000 00000000)
864        lwzu -3, (000f423f) => 0f423fff, -3 (00000000 00000000)
865        lwzu -7, (00000000) => 00000000, -7 (00000000 00000000)
866
867PPC integer load insns with two register args:
868        lbzx 0 (00000000) => 00000000, 0 (00000000 00000000)
869        lbzx 4 (000f423f) => 00000000, 0 (00000000 00000000)
870        lbzx 8 (ffffffff) => 000000ff, 0 (00000000 00000000)
871
872       lbzux 0 (00000000) => 00000000, 0 (00000000 00000000)
873       lbzux 4 (000f423f) => 00000000, 4 (00000000 00000000)
874       lbzux 8 (ffffffff) => 000000ff, 8 (00000000 00000000)
875
876        lhax 0 (00000000) => 00000000, 0 (00000000 00000000)
877        lhax 4 (000f423f) => 0000000f, 0 (00000000 00000000)
878        lhax 8 (ffffffff) => ffffffff, 0 (00000000 00000000)
879
880       lhaux 0 (00000000) => 00000000, 0 (00000000 00000000)
881       lhaux 4 (000f423f) => 0000000f, 4 (00000000 00000000)
882       lhaux 8 (ffffffff) => ffffffff, 8 (00000000 00000000)
883
884        lhzx 0 (00000000) => 00000000, 0 (00000000 00000000)
885        lhzx 4 (000f423f) => 0000000f, 0 (00000000 00000000)
886        lhzx 8 (ffffffff) => 0000ffff, 0 (00000000 00000000)
887
888       lhzux 0 (00000000) => 00000000, 0 (00000000 00000000)
889       lhzux 4 (000f423f) => 0000000f, 4 (00000000 00000000)
890       lhzux 8 (ffffffff) => 0000ffff, 8 (00000000 00000000)
891
892        lwzx 0 (00000000) => 00000000, 0 (00000000 00000000)
893        lwzx 4 (000f423f) => 000f423f, 0 (00000000 00000000)
894        lwzx 8 (ffffffff) => ffffffff, 0 (00000000 00000000)
895
896       lwzux 0 (00000000) => 00000000, 0 (00000000 00000000)
897       lwzux 4 (000f423f) => 000f423f, 4 (00000000 00000000)
898       lwzux 8 (ffffffff) => ffffffff, 8 (00000000 00000000)
899
900PPC integer store insns
901    with one register + one 16 bits immediate args with flags update:
902         stb 00000000,  0 => 00000000,  0 (00000000 00000000)
903         stb 000f423f,  4 => 3f000000,  0 (00000000 00000000)
904         stb ffffffff,  8 => ff000000,  0 (00000000 00000000)
905         stb 00000000, -8 => 00000000,  0 (00000000 00000000)
906         stb 000f423f, -4 => 3f000000,  0 (00000000 00000000)
907         stb ffffffff,  0 => ff000000,  0 (00000000 00000000)
908
909        stbu 00000000,  0 => 00000000,  0 (00000000 00000000)
910        stbu 000f423f,  4 => 3f000000,  4 (00000000 00000000)
911        stbu ffffffff,  8 => ff000000,  8 (00000000 00000000)
912        stbu 00000000, -8 => 00000000, -8 (00000000 00000000)
913        stbu 000f423f, -4 => 3f000000, -4 (00000000 00000000)
914        stbu ffffffff,  0 => ff000000,  0 (00000000 00000000)
915
916         sth 00000000,  0 => 00000000,  0 (00000000 00000000)
917         sth 000f423f,  4 => 423f0000,  0 (00000000 00000000)
918         sth ffffffff,  8 => ffff0000,  0 (00000000 00000000)
919         sth 00000000, -8 => 00000000,  0 (00000000 00000000)
920         sth 000f423f, -4 => 423f0000,  0 (00000000 00000000)
921         sth ffffffff,  0 => ffff0000,  0 (00000000 00000000)
922
923        sthu 00000000,  0 => 00000000,  0 (00000000 00000000)
924        sthu 000f423f,  4 => 423f0000,  4 (00000000 00000000)
925        sthu ffffffff,  8 => ffff0000,  8 (00000000 00000000)
926        sthu 00000000, -8 => 00000000, -8 (00000000 00000000)
927        sthu 000f423f, -4 => 423f0000, -4 (00000000 00000000)
928        sthu ffffffff,  0 => ffff0000,  0 (00000000 00000000)
929
930         stw 00000000,  0 => 00000000,  0 (00000000 00000000)
931         stw 000f423f,  4 => 000f423f,  0 (00000000 00000000)
932         stw ffffffff,  8 => ffffffff,  0 (00000000 00000000)
933         stw 00000000, -8 => 00000000,  0 (00000000 00000000)
934         stw 000f423f, -4 => 000f423f,  0 (00000000 00000000)
935         stw ffffffff,  0 => ffffffff,  0 (00000000 00000000)
936
937        stwu 00000000,  0 => 00000000,  0 (00000000 00000000)
938        stwu 000f423f,  4 => 000f423f,  4 (00000000 00000000)
939        stwu ffffffff,  8 => ffffffff,  8 (00000000 00000000)
940        stwu 00000000, -8 => 00000000, -8 (00000000 00000000)
941        stwu 000f423f, -4 => 000f423f, -4 (00000000 00000000)
942        stwu ffffffff,  0 => ffffffff,  0 (00000000 00000000)
943
944PPC integer store insns with three register args:
945        stbx 00000000, 0 => 00000000, 0 (00000000 00000000)
946        stbx 000f423f, 4 => 3f000000, 0 (00000000 00000000)
947        stbx ffffffff, 8 => ff000000, 0 (00000000 00000000)
948
949       stbux 00000000, 0 => 00000000, 0 (00000000 00000000)
950       stbux 000f423f, 4 => 3f000000, 4 (00000000 00000000)
951       stbux ffffffff, 8 => ff000000, 8 (00000000 00000000)
952
953        sthx 00000000, 0 => 00000000, 0 (00000000 00000000)
954        sthx 000f423f, 4 => 423f0000, 0 (00000000 00000000)
955        sthx ffffffff, 8 => ffff0000, 0 (00000000 00000000)
956
957       sthux 00000000, 0 => 00000000, 0 (00000000 00000000)
958       sthux 000f423f, 4 => 423f0000, 4 (00000000 00000000)
959       sthux ffffffff, 8 => ffff0000, 8 (00000000 00000000)
960
961        stwx 00000000, 0 => 00000000, 0 (00000000 00000000)
962        stwx 000f423f, 4 => 000f423f, 0 (00000000 00000000)
963        stwx ffffffff, 8 => ffffffff, 0 (00000000 00000000)
964
965       stwux 00000000, 0 => 00000000, 0 (00000000 00000000)
966       stwux 000f423f, 4 => 000f423f, 4 (00000000 00000000)
967       stwux ffffffff, 8 => ffffffff, 8 (00000000 00000000)
968
969All done. Tested 92 different instructions
970