blob: 1fc8598a9df1b15fb9ea821c96e3538fce595b98 [file] [log] [blame]
sewardja29a9082005-11-10 19:33:56 +00001PPC integer arith insns with two args:
2 add 00000000, 00000000 => 00000000 (00000000 00000000)
3 add 00000000, 000f423f => 000f423f (00000000 00000000)
4 add 00000000, ffffffff => ffffffff (00000000 00000000)
5 add 000f423f, 00000000 => 000f423f (00000000 00000000)
6 add 000f423f, 000f423f => 001e847e (00000000 00000000)
7 add 000f423f, ffffffff => 000f423e (00000000 00000000)
8 add ffffffff, 00000000 => ffffffff (00000000 00000000)
9 add ffffffff, 000f423f => 000f423e (00000000 00000000)
10 add ffffffff, ffffffff => fffffffe (00000000 00000000)
11
12 addo 00000000, 00000000 => 00000000 (00000000 00000000)
13 addo 00000000, 000f423f => 000f423f (00000000 00000000)
14 addo 00000000, ffffffff => ffffffff (00000000 00000000)
15 addo 000f423f, 00000000 => 000f423f (00000000 00000000)
16 addo 000f423f, 000f423f => 001e847e (00000000 00000000)
17 addo 000f423f, ffffffff => 000f423e (00000000 00000000)
18 addo ffffffff, 00000000 => ffffffff (00000000 00000000)
19 addo ffffffff, 000f423f => 000f423e (00000000 00000000)
20 addo ffffffff, ffffffff => fffffffe (00000000 00000000)
21
22 addc 00000000, 00000000 => 00000000 (00000000 00000000)
23 addc 00000000, 000f423f => 000f423f (00000000 00000000)
24 addc 00000000, ffffffff => ffffffff (00000000 00000000)
25 addc 000f423f, 00000000 => 000f423f (00000000 00000000)
26 addc 000f423f, 000f423f => 001e847e (00000000 00000000)
27 addc 000f423f, ffffffff => 000f423e (00000000 20000000)
28 addc ffffffff, 00000000 => ffffffff (00000000 00000000)
29 addc ffffffff, 000f423f => 000f423e (00000000 20000000)
30 addc ffffffff, ffffffff => fffffffe (00000000 20000000)
31
32 addco 00000000, 00000000 => 00000000 (00000000 00000000)
33 addco 00000000, 000f423f => 000f423f (00000000 00000000)
34 addco 00000000, ffffffff => ffffffff (00000000 00000000)
35 addco 000f423f, 00000000 => 000f423f (00000000 00000000)
36 addco 000f423f, 000f423f => 001e847e (00000000 00000000)
37 addco 000f423f, ffffffff => 000f423e (00000000 20000000)
38 addco ffffffff, 00000000 => ffffffff (00000000 00000000)
39 addco ffffffff, 000f423f => 000f423e (00000000 20000000)
40 addco ffffffff, ffffffff => fffffffe (00000000 20000000)
41
sewardja29a9082005-11-10 19:33:56 +000042 divw 00000000, 000f423f => 00000000 (00000000 00000000)
43 divw 00000000, ffffffff => 00000000 (00000000 00000000)
sewardja29a9082005-11-10 19:33:56 +000044 divw 000f423f, 000f423f => 00000001 (00000000 00000000)
45 divw 000f423f, ffffffff => fff0bdc1 (00000000 00000000)
sewardja29a9082005-11-10 19:33:56 +000046 divw ffffffff, 000f423f => 00000000 (00000000 00000000)
47 divw ffffffff, ffffffff => 00000001 (00000000 00000000)
48
sewardja29a9082005-11-10 19:33:56 +000049 divwo 00000000, 000f423f => 00000000 (00000000 00000000)
50 divwo 00000000, ffffffff => 00000000 (00000000 00000000)
sewardja29a9082005-11-10 19:33:56 +000051 divwo 000f423f, 000f423f => 00000001 (00000000 00000000)
52 divwo 000f423f, ffffffff => fff0bdc1 (00000000 00000000)
sewardja29a9082005-11-10 19:33:56 +000053 divwo ffffffff, 000f423f => 00000000 (00000000 00000000)
54 divwo ffffffff, ffffffff => 00000001 (00000000 00000000)
55
sewardja29a9082005-11-10 19:33:56 +000056 divwu 00000000, 000f423f => 00000000 (00000000 00000000)
57 divwu 00000000, ffffffff => 00000000 (00000000 00000000)
sewardja29a9082005-11-10 19:33:56 +000058 divwu 000f423f, 000f423f => 00000001 (00000000 00000000)
59 divwu 000f423f, ffffffff => 00000000 (00000000 00000000)
sewardja29a9082005-11-10 19:33:56 +000060 divwu ffffffff, 000f423f => 000010c6 (00000000 00000000)
61 divwu ffffffff, ffffffff => 00000001 (00000000 00000000)
62
sewardja29a9082005-11-10 19:33:56 +000063 divwuo 00000000, 000f423f => 00000000 (00000000 00000000)
64 divwuo 00000000, ffffffff => 00000000 (00000000 00000000)
sewardja29a9082005-11-10 19:33:56 +000065 divwuo 000f423f, 000f423f => 00000001 (00000000 00000000)
66 divwuo 000f423f, ffffffff => 00000000 (00000000 00000000)
sewardja29a9082005-11-10 19:33:56 +000067 divwuo ffffffff, 000f423f => 000010c6 (00000000 00000000)
68 divwuo ffffffff, ffffffff => 00000001 (00000000 00000000)
69
70 mulhw 00000000, 00000000 => 00000000 (00000000 00000000)
71 mulhw 00000000, 000f423f => 00000000 (00000000 00000000)
72 mulhw 00000000, ffffffff => 00000000 (00000000 00000000)
73 mulhw 000f423f, 00000000 => 00000000 (00000000 00000000)
74 mulhw 000f423f, 000f423f => 000000e8 (00000000 00000000)
75 mulhw 000f423f, ffffffff => ffffffff (00000000 00000000)
76 mulhw ffffffff, 00000000 => 00000000 (00000000 00000000)
77 mulhw ffffffff, 000f423f => ffffffff (00000000 00000000)
78 mulhw ffffffff, ffffffff => 00000000 (00000000 00000000)
79
80 mulhwu 00000000, 00000000 => 00000000 (00000000 00000000)
81 mulhwu 00000000, 000f423f => 00000000 (00000000 00000000)
82 mulhwu 00000000, ffffffff => 00000000 (00000000 00000000)
83 mulhwu 000f423f, 00000000 => 00000000 (00000000 00000000)
84 mulhwu 000f423f, 000f423f => 000000e8 (00000000 00000000)
85 mulhwu 000f423f, ffffffff => 000f423e (00000000 00000000)
86 mulhwu ffffffff, 00000000 => 00000000 (00000000 00000000)
87 mulhwu ffffffff, 000f423f => 000f423e (00000000 00000000)
88 mulhwu ffffffff, ffffffff => fffffffe (00000000 00000000)
89
90 mullw 00000000, 00000000 => 00000000 (00000000 00000000)
91 mullw 00000000, 000f423f => 00000000 (00000000 00000000)
92 mullw 00000000, ffffffff => 00000000 (00000000 00000000)
93 mullw 000f423f, 00000000 => 00000000 (00000000 00000000)
94 mullw 000f423f, 000f423f => d4868b81 (00000000 00000000)
95 mullw 000f423f, ffffffff => fff0bdc1 (00000000 00000000)
96 mullw ffffffff, 00000000 => 00000000 (00000000 00000000)
97 mullw ffffffff, 000f423f => fff0bdc1 (00000000 00000000)
98 mullw ffffffff, ffffffff => 00000001 (00000000 00000000)
99
100 mullwo 00000000, 00000000 => 00000000 (00000000 00000000)
101 mullwo 00000000, 000f423f => 00000000 (00000000 00000000)
102 mullwo 00000000, ffffffff => 00000000 (00000000 00000000)
103 mullwo 000f423f, 00000000 => 00000000 (00000000 00000000)
104 mullwo 000f423f, 000f423f => d4868b81 (00000000 c0000000)
105 mullwo 000f423f, ffffffff => fff0bdc1 (00000000 00000000)
106 mullwo ffffffff, 00000000 => 00000000 (00000000 00000000)
107 mullwo ffffffff, 000f423f => fff0bdc1 (00000000 00000000)
108 mullwo ffffffff, ffffffff => 00000001 (00000000 00000000)
109
110 subf 00000000, 00000000 => 00000000 (00000000 00000000)
111 subf 00000000, 000f423f => 000f423f (00000000 00000000)
112 subf 00000000, ffffffff => ffffffff (00000000 00000000)
113 subf 000f423f, 00000000 => fff0bdc1 (00000000 00000000)
114 subf 000f423f, 000f423f => 00000000 (00000000 00000000)
115 subf 000f423f, ffffffff => fff0bdc0 (00000000 00000000)
116 subf ffffffff, 00000000 => 00000001 (00000000 00000000)
117 subf ffffffff, 000f423f => 000f4240 (00000000 00000000)
118 subf ffffffff, ffffffff => 00000000 (00000000 00000000)
119
120 subfo 00000000, 00000000 => 00000000 (00000000 00000000)
121 subfo 00000000, 000f423f => 000f423f (00000000 00000000)
122 subfo 00000000, ffffffff => ffffffff (00000000 00000000)
123 subfo 000f423f, 00000000 => fff0bdc1 (00000000 00000000)
124 subfo 000f423f, 000f423f => 00000000 (00000000 00000000)
125 subfo 000f423f, ffffffff => fff0bdc0 (00000000 00000000)
126 subfo ffffffff, 00000000 => 00000001 (00000000 00000000)
127 subfo ffffffff, 000f423f => 000f4240 (00000000 00000000)
128 subfo ffffffff, ffffffff => 00000000 (00000000 00000000)
129
130 subfc 00000000, 00000000 => 00000000 (00000000 20000000)
131 subfc 00000000, 000f423f => 000f423f (00000000 20000000)
132 subfc 00000000, ffffffff => ffffffff (00000000 20000000)
133 subfc 000f423f, 00000000 => fff0bdc1 (00000000 00000000)
134 subfc 000f423f, 000f423f => 00000000 (00000000 20000000)
135 subfc 000f423f, ffffffff => fff0bdc0 (00000000 20000000)
136 subfc ffffffff, 00000000 => 00000001 (00000000 00000000)
137 subfc ffffffff, 000f423f => 000f4240 (00000000 00000000)
138 subfc ffffffff, ffffffff => 00000000 (00000000 20000000)
139
140 subfco 00000000, 00000000 => 00000000 (00000000 20000000)
141 subfco 00000000, 000f423f => 000f423f (00000000 20000000)
142 subfco 00000000, ffffffff => ffffffff (00000000 20000000)
143 subfco 000f423f, 00000000 => fff0bdc1 (00000000 00000000)
144 subfco 000f423f, 000f423f => 00000000 (00000000 20000000)
145 subfco 000f423f, ffffffff => fff0bdc0 (00000000 20000000)
146 subfco ffffffff, 00000000 => 00000001 (00000000 00000000)
147 subfco ffffffff, 000f423f => 000f4240 (00000000 00000000)
148 subfco ffffffff, ffffffff => 00000000 (00000000 20000000)
149
150PPC integer arith insns with two args with flags update:
151 add. 00000000, 00000000 => 00000000 (20000000 00000000)
152 add. 00000000, 000f423f => 000f423f (40000000 00000000)
153 add. 00000000, ffffffff => ffffffff (80000000 00000000)
154 add. 000f423f, 00000000 => 000f423f (40000000 00000000)
155 add. 000f423f, 000f423f => 001e847e (40000000 00000000)
156 add. 000f423f, ffffffff => 000f423e (40000000 00000000)
157 add. ffffffff, 00000000 => ffffffff (80000000 00000000)
158 add. ffffffff, 000f423f => 000f423e (40000000 00000000)
159 add. ffffffff, ffffffff => fffffffe (80000000 00000000)
160
161 addo. 00000000, 00000000 => 00000000 (20000000 00000000)
162 addo. 00000000, 000f423f => 000f423f (40000000 00000000)
163 addo. 00000000, ffffffff => ffffffff (80000000 00000000)
164 addo. 000f423f, 00000000 => 000f423f (40000000 00000000)
165 addo. 000f423f, 000f423f => 001e847e (40000000 00000000)
166 addo. 000f423f, ffffffff => 000f423e (40000000 00000000)
167 addo. ffffffff, 00000000 => ffffffff (80000000 00000000)
168 addo. ffffffff, 000f423f => 000f423e (40000000 00000000)
169 addo. ffffffff, ffffffff => fffffffe (80000000 00000000)
170
171 addc. 00000000, 00000000 => 00000000 (20000000 00000000)
172 addc. 00000000, 000f423f => 000f423f (40000000 00000000)
173 addc. 00000000, ffffffff => ffffffff (80000000 00000000)
174 addc. 000f423f, 00000000 => 000f423f (40000000 00000000)
175 addc. 000f423f, 000f423f => 001e847e (40000000 00000000)
176 addc. 000f423f, ffffffff => 000f423e (40000000 20000000)
177 addc. ffffffff, 00000000 => ffffffff (80000000 00000000)
178 addc. ffffffff, 000f423f => 000f423e (40000000 20000000)
179 addc. ffffffff, ffffffff => fffffffe (80000000 20000000)
180
181 addco. 00000000, 00000000 => 00000000 (20000000 00000000)
182 addco. 00000000, 000f423f => 000f423f (40000000 00000000)
183 addco. 00000000, ffffffff => ffffffff (80000000 00000000)
184 addco. 000f423f, 00000000 => 000f423f (40000000 00000000)
185 addco. 000f423f, 000f423f => 001e847e (40000000 00000000)
186 addco. 000f423f, ffffffff => 000f423e (40000000 20000000)
187 addco. ffffffff, 00000000 => ffffffff (80000000 00000000)
188 addco. ffffffff, 000f423f => 000f423e (40000000 20000000)
189 addco. ffffffff, ffffffff => fffffffe (80000000 20000000)
190
sewardja29a9082005-11-10 19:33:56 +0000191 divw. 00000000, 000f423f => 00000000 (20000000 00000000)
192 divw. 00000000, ffffffff => 00000000 (20000000 00000000)
sewardja29a9082005-11-10 19:33:56 +0000193 divw. 000f423f, 000f423f => 00000001 (40000000 00000000)
194 divw. 000f423f, ffffffff => fff0bdc1 (80000000 00000000)
sewardja29a9082005-11-10 19:33:56 +0000195 divw. ffffffff, 000f423f => 00000000 (20000000 00000000)
196 divw. ffffffff, ffffffff => 00000001 (40000000 00000000)
197
sewardja29a9082005-11-10 19:33:56 +0000198 divwo. 00000000, 000f423f => 00000000 (20000000 00000000)
199 divwo. 00000000, ffffffff => 00000000 (20000000 00000000)
sewardja29a9082005-11-10 19:33:56 +0000200 divwo. 000f423f, 000f423f => 00000001 (40000000 00000000)
201 divwo. 000f423f, ffffffff => fff0bdc1 (80000000 00000000)
sewardja29a9082005-11-10 19:33:56 +0000202 divwo. ffffffff, 000f423f => 00000000 (20000000 00000000)
203 divwo. ffffffff, ffffffff => 00000001 (40000000 00000000)
204
sewardja29a9082005-11-10 19:33:56 +0000205 divwu. 00000000, 000f423f => 00000000 (20000000 00000000)
206 divwu. 00000000, ffffffff => 00000000 (20000000 00000000)
sewardja29a9082005-11-10 19:33:56 +0000207 divwu. 000f423f, 000f423f => 00000001 (40000000 00000000)
208 divwu. 000f423f, ffffffff => 00000000 (20000000 00000000)
sewardja29a9082005-11-10 19:33:56 +0000209 divwu. ffffffff, 000f423f => 000010c6 (40000000 00000000)
210 divwu. ffffffff, ffffffff => 00000001 (40000000 00000000)
211
sewardja29a9082005-11-10 19:33:56 +0000212 divwuo. 00000000, 000f423f => 00000000 (20000000 00000000)
213 divwuo. 00000000, ffffffff => 00000000 (20000000 00000000)
sewardja29a9082005-11-10 19:33:56 +0000214 divwuo. 000f423f, 000f423f => 00000001 (40000000 00000000)
215 divwuo. 000f423f, ffffffff => 00000000 (20000000 00000000)
sewardja29a9082005-11-10 19:33:56 +0000216 divwuo. ffffffff, 000f423f => 000010c6 (40000000 00000000)
217 divwuo. ffffffff, ffffffff => 00000001 (40000000 00000000)
218
219 mulhw. 00000000, 00000000 => 00000000 (20000000 00000000)
220 mulhw. 00000000, 000f423f => 00000000 (20000000 00000000)
221 mulhw. 00000000, ffffffff => 00000000 (20000000 00000000)
222 mulhw. 000f423f, 00000000 => 00000000 (20000000 00000000)
223 mulhw. 000f423f, 000f423f => 000000e8 (40000000 00000000)
224 mulhw. 000f423f, ffffffff => ffffffff (80000000 00000000)
225 mulhw. ffffffff, 00000000 => 00000000 (20000000 00000000)
226 mulhw. ffffffff, 000f423f => ffffffff (80000000 00000000)
227 mulhw. ffffffff, ffffffff => 00000000 (20000000 00000000)
228
229 mulhwu. 00000000, 00000000 => 00000000 (20000000 00000000)
230 mulhwu. 00000000, 000f423f => 00000000 (20000000 00000000)
231 mulhwu. 00000000, ffffffff => 00000000 (20000000 00000000)
232 mulhwu. 000f423f, 00000000 => 00000000 (20000000 00000000)
233 mulhwu. 000f423f, 000f423f => 000000e8 (40000000 00000000)
234 mulhwu. 000f423f, ffffffff => 000f423e (40000000 00000000)
235 mulhwu. ffffffff, 00000000 => 00000000 (20000000 00000000)
236 mulhwu. ffffffff, 000f423f => 000f423e (40000000 00000000)
237 mulhwu. ffffffff, ffffffff => fffffffe (80000000 00000000)
238
239 mullw. 00000000, 00000000 => 00000000 (20000000 00000000)
240 mullw. 00000000, 000f423f => 00000000 (20000000 00000000)
241 mullw. 00000000, ffffffff => 00000000 (20000000 00000000)
242 mullw. 000f423f, 00000000 => 00000000 (20000000 00000000)
243 mullw. 000f423f, 000f423f => d4868b81 (80000000 00000000)
244 mullw. 000f423f, ffffffff => fff0bdc1 (80000000 00000000)
245 mullw. ffffffff, 00000000 => 00000000 (20000000 00000000)
246 mullw. ffffffff, 000f423f => fff0bdc1 (80000000 00000000)
247 mullw. ffffffff, ffffffff => 00000001 (40000000 00000000)
248
249 mullwo. 00000000, 00000000 => 00000000 (20000000 00000000)
250 mullwo. 00000000, 000f423f => 00000000 (20000000 00000000)
251 mullwo. 00000000, ffffffff => 00000000 (20000000 00000000)
252 mullwo. 000f423f, 00000000 => 00000000 (20000000 00000000)
253 mullwo. 000f423f, 000f423f => d4868b81 (90000000 c0000000)
254 mullwo. 000f423f, ffffffff => fff0bdc1 (80000000 00000000)
255 mullwo. ffffffff, 00000000 => 00000000 (20000000 00000000)
256 mullwo. ffffffff, 000f423f => fff0bdc1 (80000000 00000000)
257 mullwo. ffffffff, ffffffff => 00000001 (40000000 00000000)
258
259 subf. 00000000, 00000000 => 00000000 (20000000 00000000)
260 subf. 00000000, 000f423f => 000f423f (40000000 00000000)
261 subf. 00000000, ffffffff => ffffffff (80000000 00000000)
262 subf. 000f423f, 00000000 => fff0bdc1 (80000000 00000000)
263 subf. 000f423f, 000f423f => 00000000 (20000000 00000000)
264 subf. 000f423f, ffffffff => fff0bdc0 (80000000 00000000)
265 subf. ffffffff, 00000000 => 00000001 (40000000 00000000)
266 subf. ffffffff, 000f423f => 000f4240 (40000000 00000000)
267 subf. ffffffff, ffffffff => 00000000 (20000000 00000000)
268
269 subfo. 00000000, 00000000 => 00000000 (20000000 00000000)
270 subfo. 00000000, 000f423f => 000f423f (40000000 00000000)
271 subfo. 00000000, ffffffff => ffffffff (80000000 00000000)
272 subfo. 000f423f, 00000000 => fff0bdc1 (80000000 00000000)
273 subfo. 000f423f, 000f423f => 00000000 (20000000 00000000)
274 subfo. 000f423f, ffffffff => fff0bdc0 (80000000 00000000)
275 subfo. ffffffff, 00000000 => 00000001 (40000000 00000000)
276 subfo. ffffffff, 000f423f => 000f4240 (40000000 00000000)
277 subfo. ffffffff, ffffffff => 00000000 (20000000 00000000)
278
279 subfc. 00000000, 00000000 => 00000000 (20000000 20000000)
280 subfc. 00000000, 000f423f => 000f423f (40000000 20000000)
281 subfc. 00000000, ffffffff => ffffffff (80000000 20000000)
282 subfc. 000f423f, 00000000 => fff0bdc1 (80000000 00000000)
283 subfc. 000f423f, 000f423f => 00000000 (20000000 20000000)
284 subfc. 000f423f, ffffffff => fff0bdc0 (80000000 20000000)
285 subfc. ffffffff, 00000000 => 00000001 (40000000 00000000)
286 subfc. ffffffff, 000f423f => 000f4240 (40000000 00000000)
287 subfc. ffffffff, ffffffff => 00000000 (20000000 20000000)
288
289 subfco. 00000000, 00000000 => 00000000 (20000000 20000000)
290 subfco. 00000000, 000f423f => 000f423f (40000000 20000000)
291 subfco. 00000000, ffffffff => ffffffff (80000000 20000000)
292 subfco. 000f423f, 00000000 => fff0bdc1 (80000000 00000000)
293 subfco. 000f423f, 000f423f => 00000000 (20000000 20000000)
294 subfco. 000f423f, ffffffff => fff0bdc0 (80000000 20000000)
295 subfco. ffffffff, 00000000 => 00000001 (40000000 00000000)
296 subfco. ffffffff, 000f423f => 000f4240 (40000000 00000000)
297 subfco. ffffffff, ffffffff => 00000000 (20000000 20000000)
298
299PPC integer arith insns with two args and carry:
300 adde 00000000, 00000000 => 00000000 (00000000 00000000)
301 adde 00000000, 000f423f => 000f423f (00000000 00000000)
302 adde 00000000, ffffffff => ffffffff (00000000 00000000)
303 adde 000f423f, 00000000 => 000f423f (00000000 00000000)
304 adde 000f423f, 000f423f => 001e847e (00000000 00000000)
305 adde 000f423f, ffffffff => 000f423e (00000000 20000000)
306 adde ffffffff, 00000000 => ffffffff (00000000 00000000)
307 adde ffffffff, 000f423f => 000f423e (00000000 20000000)
308 adde ffffffff, ffffffff => fffffffe (00000000 20000000)
309 adde 00000000, 00000000 => 00000001 (00000000 00000000)
310 adde 00000000, 000f423f => 000f4240 (00000000 00000000)
311 adde 00000000, ffffffff => 00000000 (00000000 20000000)
312 adde 000f423f, 00000000 => 000f4240 (00000000 00000000)
313 adde 000f423f, 000f423f => 001e847f (00000000 00000000)
314 adde 000f423f, ffffffff => 000f423f (00000000 20000000)
315 adde ffffffff, 00000000 => 00000000 (00000000 20000000)
316 adde ffffffff, 000f423f => 000f423f (00000000 20000000)
317 adde ffffffff, ffffffff => ffffffff (00000000 20000000)
318
319 addeo 00000000, 00000000 => 00000000 (00000000 00000000)
320 addeo 00000000, 000f423f => 000f423f (00000000 00000000)
321 addeo 00000000, ffffffff => ffffffff (00000000 00000000)
322 addeo 000f423f, 00000000 => 000f423f (00000000 00000000)
323 addeo 000f423f, 000f423f => 001e847e (00000000 00000000)
324 addeo 000f423f, ffffffff => 000f423e (00000000 20000000)
325 addeo ffffffff, 00000000 => ffffffff (00000000 00000000)
326 addeo ffffffff, 000f423f => 000f423e (00000000 20000000)
327 addeo ffffffff, ffffffff => fffffffe (00000000 20000000)
328 addeo 00000000, 00000000 => 00000001 (00000000 00000000)
329 addeo 00000000, 000f423f => 000f4240 (00000000 00000000)
330 addeo 00000000, ffffffff => 00000000 (00000000 20000000)
331 addeo 000f423f, 00000000 => 000f4240 (00000000 00000000)
332 addeo 000f423f, 000f423f => 001e847f (00000000 00000000)
333 addeo 000f423f, ffffffff => 000f423f (00000000 20000000)
334 addeo ffffffff, 00000000 => 00000000 (00000000 20000000)
335 addeo ffffffff, 000f423f => 000f423f (00000000 20000000)
336 addeo ffffffff, ffffffff => ffffffff (00000000 20000000)
337
338 subfe 00000000, 00000000 => ffffffff (00000000 00000000)
339 subfe 00000000, 000f423f => 000f423e (00000000 20000000)
340 subfe 00000000, ffffffff => fffffffe (00000000 20000000)
341 subfe 000f423f, 00000000 => fff0bdc0 (00000000 00000000)
342 subfe 000f423f, 000f423f => ffffffff (00000000 00000000)
343 subfe 000f423f, ffffffff => fff0bdbf (00000000 20000000)
344 subfe ffffffff, 00000000 => 00000000 (00000000 00000000)
345 subfe ffffffff, 000f423f => 000f423f (00000000 00000000)
346 subfe ffffffff, ffffffff => ffffffff (00000000 00000000)
347 subfe 00000000, 00000000 => 00000000 (00000000 20000000)
348 subfe 00000000, 000f423f => 000f423f (00000000 20000000)
349 subfe 00000000, ffffffff => ffffffff (00000000 20000000)
350 subfe 000f423f, 00000000 => fff0bdc1 (00000000 00000000)
351 subfe 000f423f, 000f423f => 00000000 (00000000 20000000)
352 subfe 000f423f, ffffffff => fff0bdc0 (00000000 20000000)
353 subfe ffffffff, 00000000 => 00000001 (00000000 00000000)
354 subfe ffffffff, 000f423f => 000f4240 (00000000 00000000)
355 subfe ffffffff, ffffffff => 00000000 (00000000 20000000)
356
357 subfeo 00000000, 00000000 => ffffffff (00000000 00000000)
358 subfeo 00000000, 000f423f => 000f423e (00000000 20000000)
359 subfeo 00000000, ffffffff => fffffffe (00000000 20000000)
360 subfeo 000f423f, 00000000 => fff0bdc0 (00000000 00000000)
361 subfeo 000f423f, 000f423f => ffffffff (00000000 00000000)
362 subfeo 000f423f, ffffffff => fff0bdbf (00000000 20000000)
363 subfeo ffffffff, 00000000 => 00000000 (00000000 00000000)
364 subfeo ffffffff, 000f423f => 000f423f (00000000 00000000)
365 subfeo ffffffff, ffffffff => ffffffff (00000000 00000000)
366 subfeo 00000000, 00000000 => 00000000 (00000000 20000000)
367 subfeo 00000000, 000f423f => 000f423f (00000000 20000000)
368 subfeo 00000000, ffffffff => ffffffff (00000000 20000000)
369 subfeo 000f423f, 00000000 => fff0bdc1 (00000000 00000000)
370 subfeo 000f423f, 000f423f => 00000000 (00000000 20000000)
371 subfeo 000f423f, ffffffff => fff0bdc0 (00000000 20000000)
372 subfeo ffffffff, 00000000 => 00000001 (00000000 00000000)
373 subfeo ffffffff, 000f423f => 000f4240 (00000000 00000000)
374 subfeo ffffffff, ffffffff => 00000000 (00000000 20000000)
375
376PPC integer arith insns with two args and carry with flags update:
377 adde. 00000000, 00000000 => 00000000 (20000000 00000000)
378 adde. 00000000, 000f423f => 000f423f (40000000 00000000)
379 adde. 00000000, ffffffff => ffffffff (80000000 00000000)
380 adde. 000f423f, 00000000 => 000f423f (40000000 00000000)
381 adde. 000f423f, 000f423f => 001e847e (40000000 00000000)
382 adde. 000f423f, ffffffff => 000f423e (40000000 20000000)
383 adde. ffffffff, 00000000 => ffffffff (80000000 00000000)
384 adde. ffffffff, 000f423f => 000f423e (40000000 20000000)
385 adde. ffffffff, ffffffff => fffffffe (80000000 20000000)
386 adde. 00000000, 00000000 => 00000001 (40000000 00000000)
387 adde. 00000000, 000f423f => 000f4240 (40000000 00000000)
388 adde. 00000000, ffffffff => 00000000 (20000000 20000000)
389 adde. 000f423f, 00000000 => 000f4240 (40000000 00000000)
390 adde. 000f423f, 000f423f => 001e847f (40000000 00000000)
391 adde. 000f423f, ffffffff => 000f423f (40000000 20000000)
392 adde. ffffffff, 00000000 => 00000000 (20000000 20000000)
393 adde. ffffffff, 000f423f => 000f423f (40000000 20000000)
394 adde. ffffffff, ffffffff => ffffffff (80000000 20000000)
395
396 addeo. 00000000, 00000000 => 00000000 (20000000 00000000)
397 addeo. 00000000, 000f423f => 000f423f (40000000 00000000)
398 addeo. 00000000, ffffffff => ffffffff (80000000 00000000)
399 addeo. 000f423f, 00000000 => 000f423f (40000000 00000000)
400 addeo. 000f423f, 000f423f => 001e847e (40000000 00000000)
401 addeo. 000f423f, ffffffff => 000f423e (40000000 20000000)
402 addeo. ffffffff, 00000000 => ffffffff (80000000 00000000)
403 addeo. ffffffff, 000f423f => 000f423e (40000000 20000000)
404 addeo. ffffffff, ffffffff => fffffffe (80000000 20000000)
405 addeo. 00000000, 00000000 => 00000001 (40000000 00000000)
406 addeo. 00000000, 000f423f => 000f4240 (40000000 00000000)
407 addeo. 00000000, ffffffff => 00000000 (20000000 20000000)
408 addeo. 000f423f, 00000000 => 000f4240 (40000000 00000000)
409 addeo. 000f423f, 000f423f => 001e847f (40000000 00000000)
410 addeo. 000f423f, ffffffff => 000f423f (40000000 20000000)
411 addeo. ffffffff, 00000000 => 00000000 (20000000 20000000)
412 addeo. ffffffff, 000f423f => 000f423f (40000000 20000000)
413 addeo. ffffffff, ffffffff => ffffffff (80000000 20000000)
414
415 subfe. 00000000, 00000000 => ffffffff (80000000 00000000)
416 subfe. 00000000, 000f423f => 000f423e (40000000 20000000)
417 subfe. 00000000, ffffffff => fffffffe (80000000 20000000)
418 subfe. 000f423f, 00000000 => fff0bdc0 (80000000 00000000)
419 subfe. 000f423f, 000f423f => ffffffff (80000000 00000000)
420 subfe. 000f423f, ffffffff => fff0bdbf (80000000 20000000)
421 subfe. ffffffff, 00000000 => 00000000 (20000000 00000000)
422 subfe. ffffffff, 000f423f => 000f423f (40000000 00000000)
423 subfe. ffffffff, ffffffff => ffffffff (80000000 00000000)
424 subfe. 00000000, 00000000 => 00000000 (20000000 20000000)
425 subfe. 00000000, 000f423f => 000f423f (40000000 20000000)
426 subfe. 00000000, ffffffff => ffffffff (80000000 20000000)
427 subfe. 000f423f, 00000000 => fff0bdc1 (80000000 00000000)
428 subfe. 000f423f, 000f423f => 00000000 (20000000 20000000)
429 subfe. 000f423f, ffffffff => fff0bdc0 (80000000 20000000)
430 subfe. ffffffff, 00000000 => 00000001 (40000000 00000000)
431 subfe. ffffffff, 000f423f => 000f4240 (40000000 00000000)
432 subfe. ffffffff, ffffffff => 00000000 (20000000 20000000)
433
434 subfeo. 00000000, 00000000 => ffffffff (80000000 00000000)
435 subfeo. 00000000, 000f423f => 000f423e (40000000 20000000)
436 subfeo. 00000000, ffffffff => fffffffe (80000000 20000000)
437 subfeo. 000f423f, 00000000 => fff0bdc0 (80000000 00000000)
438 subfeo. 000f423f, 000f423f => ffffffff (80000000 00000000)
439 subfeo. 000f423f, ffffffff => fff0bdbf (80000000 20000000)
440 subfeo. ffffffff, 00000000 => 00000000 (20000000 00000000)
441 subfeo. ffffffff, 000f423f => 000f423f (40000000 00000000)
442 subfeo. ffffffff, ffffffff => ffffffff (80000000 00000000)
443 subfeo. 00000000, 00000000 => 00000000 (20000000 20000000)
444 subfeo. 00000000, 000f423f => 000f423f (40000000 20000000)
445 subfeo. 00000000, ffffffff => ffffffff (80000000 20000000)
446 subfeo. 000f423f, 00000000 => fff0bdc1 (80000000 00000000)
447 subfeo. 000f423f, 000f423f => 00000000 (20000000 20000000)
448 subfeo. 000f423f, ffffffff => fff0bdc0 (80000000 20000000)
449 subfeo. ffffffff, 00000000 => 00000001 (40000000 00000000)
450 subfeo. ffffffff, 000f423f => 000f4240 (40000000 00000000)
451 subfeo. ffffffff, ffffffff => 00000000 (20000000 20000000)
452
sewardja29a9082005-11-10 19:33:56 +0000453PPC integer arith insns
454 with one register + one 16 bits immediate args:
455 addi 00000000, 00000000 => 00000000 (00000000 00000000)
456 addi 00000000, 000003e7 => 000003e7 (00000000 00000000)
457 addi 00000000, 0000ffff => ffffffff (00000000 00000000)
458 addi 000f423f, 00000000 => 000f423f (00000000 00000000)
459 addi 000f423f, 000003e7 => 000f4626 (00000000 00000000)
460 addi 000f423f, 0000ffff => 000f423e (00000000 00000000)
461 addi ffffffff, 00000000 => ffffffff (00000000 00000000)
462 addi ffffffff, 000003e7 => 000003e6 (00000000 00000000)
463 addi ffffffff, 0000ffff => fffffffe (00000000 00000000)
464
465 addic 00000000, 00000000 => 00000000 (00000000 00000000)
466 addic 00000000, 000003e7 => 000003e7 (00000000 00000000)
467 addic 00000000, 0000ffff => ffffffff (00000000 00000000)
468 addic 000f423f, 00000000 => 000f423f (00000000 00000000)
469 addic 000f423f, 000003e7 => 000f4626 (00000000 00000000)
470 addic 000f423f, 0000ffff => 000f423e (00000000 20000000)
471 addic ffffffff, 00000000 => ffffffff (00000000 00000000)
472 addic ffffffff, 000003e7 => 000003e6 (00000000 20000000)
473 addic ffffffff, 0000ffff => fffffffe (00000000 20000000)
474
475 addis 00000000, 00000000 => 00000000 (00000000 00000000)
476 addis 00000000, 000003e7 => 03e70000 (00000000 00000000)
477 addis 00000000, 0000ffff => ffff0000 (00000000 00000000)
478 addis 000f423f, 00000000 => 000f423f (00000000 00000000)
479 addis 000f423f, 000003e7 => 03f6423f (00000000 00000000)
480 addis 000f423f, 0000ffff => 000e423f (00000000 00000000)
481 addis ffffffff, 00000000 => ffffffff (00000000 00000000)
482 addis ffffffff, 000003e7 => 03e6ffff (00000000 00000000)
483 addis ffffffff, 0000ffff => fffeffff (00000000 00000000)
484
485 mulli 00000000, 00000000 => 00000000 (00000000 00000000)
486 mulli 00000000, 000003e7 => 00000000 (00000000 00000000)
487 mulli 00000000, 0000ffff => 00000000 (00000000 00000000)
488 mulli 000f423f, 00000000 => 00000000 (00000000 00000000)
489 mulli 000f423f, 000003e7 => 3b8b83d9 (00000000 00000000)
490 mulli 000f423f, 0000ffff => fff0bdc1 (00000000 00000000)
491 mulli ffffffff, 00000000 => 00000000 (00000000 00000000)
492 mulli ffffffff, 000003e7 => fffffc19 (00000000 00000000)
493 mulli ffffffff, 0000ffff => 00000001 (00000000 00000000)
494
495 subfic 00000000, 00000000 => 00000000 (00000000 20000000)
496 subfic 00000000, 000003e7 => 000003e7 (00000000 20000000)
497 subfic 00000000, 0000ffff => ffffffff (00000000 20000000)
498 subfic 000f423f, 00000000 => fff0bdc1 (00000000 00000000)
499 subfic 000f423f, 000003e7 => fff0c1a8 (00000000 00000000)
500 subfic 000f423f, 0000ffff => fff0bdc0 (00000000 20000000)
501 subfic ffffffff, 00000000 => 00000001 (00000000 00000000)
502 subfic ffffffff, 000003e7 => 000003e8 (00000000 00000000)
503 subfic ffffffff, 0000ffff => 00000000 (00000000 20000000)
504
505PPC integer arith insns
506 with one register + one 16 bits immediate args with flags update:
507 addic. 00000000, 00000000 => 00000000 (20000000 00000000)
508 addic. 00000000, 000003e7 => 000003e7 (40000000 00000000)
509 addic. 00000000, 0000ffff => ffffffff (80000000 00000000)
510 addic. 000f423f, 00000000 => 000f423f (40000000 00000000)
511 addic. 000f423f, 000003e7 => 000f4626 (40000000 00000000)
512 addic. 000f423f, 0000ffff => 000f423e (40000000 20000000)
513 addic. ffffffff, 00000000 => ffffffff (80000000 00000000)
514 addic. ffffffff, 000003e7 => 000003e6 (40000000 20000000)
515 addic. ffffffff, 0000ffff => fffffffe (80000000 20000000)
516
sewardja29a9082005-11-10 19:33:56 +0000517PPC integer arith insns with one arg and carry:
518 addme 00000000 => ffffffff (00000000 00000000)
519 addme 000f423f => 000f423e (00000000 20000000)
520 addme ffffffff => fffffffe (00000000 20000000)
521 addme 00000000 => 00000000 (00000000 20000000)
522 addme 000f423f => 000f423f (00000000 20000000)
523 addme ffffffff => ffffffff (00000000 20000000)
524
525 addmeo 00000000 => ffffffff (00000000 00000000)
526 addmeo 000f423f => 000f423e (00000000 20000000)
527 addmeo ffffffff => fffffffe (00000000 20000000)
528 addmeo 00000000 => 00000000 (00000000 20000000)
529 addmeo 000f423f => 000f423f (00000000 20000000)
530 addmeo ffffffff => ffffffff (00000000 20000000)
531
532 addze 00000000 => 00000000 (00000000 00000000)
533 addze 000f423f => 000f423f (00000000 00000000)
534 addze ffffffff => ffffffff (00000000 00000000)
535 addze 00000000 => 00000001 (00000000 00000000)
536 addze 000f423f => 000f4240 (00000000 00000000)
537 addze ffffffff => 00000000 (00000000 20000000)
538
539 addzeo 00000000 => 00000000 (00000000 00000000)
540 addzeo 000f423f => 000f423f (00000000 00000000)
541 addzeo ffffffff => ffffffff (00000000 00000000)
542 addzeo 00000000 => 00000001 (00000000 00000000)
543 addzeo 000f423f => 000f4240 (00000000 00000000)
544 addzeo ffffffff => 00000000 (00000000 20000000)
545
546 subfme 00000000 => fffffffe (00000000 20000000)
547 subfme 000f423f => fff0bdbf (00000000 20000000)
548 subfme ffffffff => ffffffff (00000000 00000000)
549 subfme 00000000 => ffffffff (00000000 20000000)
550 subfme 000f423f => fff0bdc0 (00000000 20000000)
551 subfme ffffffff => 00000000 (00000000 20000000)
552
553 subfmeo 00000000 => fffffffe (00000000 20000000)
554 subfmeo 000f423f => fff0bdbf (00000000 20000000)
555 subfmeo ffffffff => ffffffff (00000000 00000000)
556 subfmeo 00000000 => ffffffff (00000000 20000000)
557 subfmeo 000f423f => fff0bdc0 (00000000 20000000)
558 subfmeo ffffffff => 00000000 (00000000 20000000)
559
560 subfze 00000000 => ffffffff (00000000 00000000)
561 subfze 000f423f => fff0bdc0 (00000000 00000000)
562 subfze ffffffff => 00000000 (00000000 00000000)
563 subfze 00000000 => 00000000 (00000000 20000000)
564 subfze 000f423f => fff0bdc1 (00000000 00000000)
565 subfze ffffffff => 00000001 (00000000 00000000)
566
567 subfzeo 00000000 => ffffffff (00000000 00000000)
568 subfzeo 000f423f => fff0bdc0 (00000000 00000000)
569 subfzeo ffffffff => 00000000 (00000000 00000000)
570 subfzeo 00000000 => 00000000 (00000000 20000000)
571 subfzeo 000f423f => fff0bdc1 (00000000 00000000)
572 subfzeo ffffffff => 00000001 (00000000 00000000)
573
574PPC integer arith insns with one arg and carry with flags update:
575 addme. 00000000 => ffffffff (80000000 00000000)
576 addme. 000f423f => 000f423e (40000000 20000000)
577 addme. ffffffff => fffffffe (80000000 20000000)
578 addme. 00000000 => 00000000 (20000000 20000000)
579 addme. 000f423f => 000f423f (40000000 20000000)
580 addme. ffffffff => ffffffff (80000000 20000000)
581
582 addmeo. 00000000 => ffffffff (80000000 00000000)
583 addmeo. 000f423f => 000f423e (40000000 20000000)
584 addmeo. ffffffff => fffffffe (80000000 20000000)
585 addmeo. 00000000 => 00000000 (20000000 20000000)
586 addmeo. 000f423f => 000f423f (40000000 20000000)
587 addmeo. ffffffff => ffffffff (80000000 20000000)
588
589 addze. 00000000 => 00000000 (20000000 00000000)
590 addze. 000f423f => 000f423f (40000000 00000000)
591 addze. ffffffff => ffffffff (80000000 00000000)
592 addze. 00000000 => 00000001 (40000000 00000000)
593 addze. 000f423f => 000f4240 (40000000 00000000)
594 addze. ffffffff => 00000000 (20000000 20000000)
595
596 addzeo. 00000000 => 00000000 (20000000 00000000)
597 addzeo. 000f423f => 000f423f (40000000 00000000)
598 addzeo. ffffffff => ffffffff (80000000 00000000)
599 addzeo. 00000000 => 00000001 (40000000 00000000)
600 addzeo. 000f423f => 000f4240 (40000000 00000000)
601 addzeo. ffffffff => 00000000 (20000000 20000000)
602
603 subfme. 00000000 => fffffffe (80000000 20000000)
604 subfme. 000f423f => fff0bdbf (80000000 20000000)
605 subfme. ffffffff => ffffffff (80000000 00000000)
606 subfme. 00000000 => ffffffff (80000000 20000000)
607 subfme. 000f423f => fff0bdc0 (80000000 20000000)
608 subfme. ffffffff => 00000000 (20000000 20000000)
609
610 subfmeo. 00000000 => fffffffe (80000000 20000000)
611 subfmeo. 000f423f => fff0bdbf (80000000 20000000)
612 subfmeo. ffffffff => ffffffff (80000000 00000000)
613 subfmeo. 00000000 => ffffffff (80000000 20000000)
614 subfmeo. 000f423f => fff0bdc0 (80000000 20000000)
615 subfmeo. ffffffff => 00000000 (20000000 20000000)
616
617 subfze. 00000000 => ffffffff (80000000 00000000)
618 subfze. 000f423f => fff0bdc0 (80000000 00000000)
619 subfze. ffffffff => 00000000 (20000000 00000000)
620 subfze. 00000000 => 00000000 (20000000 20000000)
621 subfze. 000f423f => fff0bdc1 (80000000 00000000)
622 subfze. ffffffff => 00000001 (40000000 00000000)
623
624 subfzeo. 00000000 => ffffffff (80000000 00000000)
625 subfzeo. 000f423f => fff0bdc0 (80000000 00000000)
626 subfzeo. ffffffff => 00000000 (20000000 00000000)
627 subfzeo. 00000000 => 00000000 (20000000 20000000)
628 subfzeo. 000f423f => fff0bdc1 (80000000 00000000)
629 subfzeo. ffffffff => 00000001 (40000000 00000000)
630
philippea6be8b12012-07-06 21:59:03 +0000631PPC integer population count with one register args, no flags:
632 popcntb 00000000 => 00000000 (00000000 00000000)
633 popcntb 000f423f => 00040206 (00000000 00000000)
634 popcntb ffffffff => 08080808 (00000000 00000000)
635
Elliott Hughesed398002017-06-21 14:41:24 -0700636All done. Tested 63 different instructions