Lines Matching refs:gpr

53 	gCPU.gpr[rD] = gCPU.gpr[rA] + gCPU.gpr[rB];  in ppc_opc_addx()
56 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_addx()
67 gCPU.gpr[rD] = gCPU.gpr[rA] + gCPU.gpr[rB]; in ppc_opc_addox()
70 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_addox()
83 uint32 a = gCPU.gpr[rA]; in ppc_opc_addcx()
84 gCPU.gpr[rD] = a + gCPU.gpr[rB]; in ppc_opc_addcx()
86 if (gCPU.gpr[rD] < a) { in ppc_opc_addcx()
93 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_addcx()
104 uint32 a = gCPU.gpr[rA]; in ppc_opc_addcox()
105 gCPU.gpr[rD] = a + gCPU.gpr[rB]; in ppc_opc_addcox()
107 if (gCPU.gpr[rD] < a) { in ppc_opc_addcox()
114 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_addcox()
128 uint32 a = gCPU.gpr[rA]; in ppc_opc_addco()
129 gCPU.gpr[rD] = a + gCPU.gpr[rB]; in ppc_opc_addco()
132 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_addco()
145 uint32 a = gCPU.gpr[rA]; in ppc_opc_addex()
146 uint32 b = gCPU.gpr[rB]; in ppc_opc_addex()
148 gCPU.gpr[rD] = a + b + ca; in ppc_opc_addex()
157 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_addex()
168 uint32 a = gCPU.gpr[rA]; in ppc_opc_addeox()
169 uint32 b = gCPU.gpr[rB]; in ppc_opc_addeox()
171 gCPU.gpr[rD] = a + b + ca; in ppc_opc_addeox()
180 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_addeox()
194 gCPU.gpr[rD] = (rA ? gCPU.gpr[rA] : 0) + imm; in ppc_opc_addi()
205 uint32 a = gCPU.gpr[rA]; in ppc_opc_addic()
206 gCPU.gpr[rD] = a + imm; in ppc_opc_addic()
208 if (gCPU.gpr[rD] < a) { in ppc_opc_addic()
223 uint32 a = gCPU.gpr[rA]; in ppc_opc_addic_()
224 gCPU.gpr[rD] = a + imm; in ppc_opc_addic_()
226 if (gCPU.gpr[rD] < a) { in ppc_opc_addic_()
232 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_addic_()
243 gCPU.gpr[rD] = (rA ? gCPU.gpr[rA] : 0) + imm; in ppc_opc_addis()
254 uint32 a = gCPU.gpr[rA]; in ppc_opc_addmex()
256 gCPU.gpr[rD] = a + ca + 0xffffffff; in ppc_opc_addmex()
264 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_addmex()
276 uint32 a = gCPU.gpr[rA]; in ppc_opc_addmeox()
278 gCPU.gpr[rD] = a + ca + 0xffffffff; in ppc_opc_addmeox()
286 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_addmeox()
300 uint32 a = gCPU.gpr[rA]; in ppc_opc_addzex()
302 gCPU.gpr[rD] = a + ca; in ppc_opc_addzex()
311 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_addzex()
323 uint32 a = gCPU.gpr[rA]; in ppc_opc_addzeox()
325 gCPU.gpr[rD] = a + ca; in ppc_opc_addzeox()
334 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_addzeox()
348 gCPU.gpr[rA] = gCPU.gpr[rS] & gCPU.gpr[rB]; in ppc_opc_andx()
351 ppc_update_cr0(gCPU.gpr[rA]); in ppc_opc_andx()
362 gCPU.gpr[rA] = gCPU.gpr[rS] & ~gCPU.gpr[rB]; in ppc_opc_andcx()
365 ppc_update_cr0(gCPU.gpr[rA]); in ppc_opc_andcx()
377 gCPU.gpr[rA] = gCPU.gpr[rS] & imm; in ppc_opc_andi_()
379 ppc_update_cr0(gCPU.gpr[rA]); in ppc_opc_andi_()
390 gCPU.gpr[rA] = gCPU.gpr[rS] & imm; in ppc_opc_andis_()
392 ppc_update_cr0(gCPU.gpr[rA]); in ppc_opc_andis_()
416 sint32 a = gCPU.gpr[rA]; in ppc_opc_cmp()
417 sint32 b = gCPU.gpr[rB]; in ppc_opc_cmp()
442 sint32 a = gCPU.gpr[rA]; in ppc_opc_cmpi()
471 uint32 a = gCPU.gpr[rA]; in ppc_opc_cmpl()
472 uint32 b = gCPU.gpr[rB]; in ppc_opc_cmpl()
497 uint32 a = gCPU.gpr[rA]; in ppc_opc_cmpli()
524 uint32 v=gCPU.gpr[rS]; in ppc_opc_cntlzwx()
530 gCPU.gpr[rA] = n; in ppc_opc_cntlzwx()
533 ppc_update_cr0(gCPU.gpr[rA]); in ppc_opc_cntlzwx()
662 if (!gCPU.gpr[rB]) { in ppc_opc_divwx()
667 sint32 a = gCPU.gpr[rA]; in ppc_opc_divwx()
668 sint32 b = gCPU.gpr[rB]; in ppc_opc_divwx()
669 gCPU.gpr[rD] = a / b; in ppc_opc_divwx()
672 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_divwx()
683 if (!gCPU.gpr[rB]) { in ppc_opc_divwox()
687 sint32 a = gCPU.gpr[rA]; in ppc_opc_divwox()
688 sint32 b = gCPU.gpr[rB]; in ppc_opc_divwox()
689 gCPU.gpr[rD] = a / b; in ppc_opc_divwox()
692 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_divwox()
705 if (!gCPU.gpr[rB]) { in ppc_opc_divwux()
710 gCPU.gpr[rD] = gCPU.gpr[rA] / gCPU.gpr[rB]; in ppc_opc_divwux()
713 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_divwux()
724 if (!gCPU.gpr[rB]) { in ppc_opc_divwuox()
728 gCPU.gpr[rD] = gCPU.gpr[rA] / gCPU.gpr[rB]; in ppc_opc_divwuox()
731 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_divwuox()
745 if (!gCPU.gpr[rB]) { in ppc_opc_divwuo()
749 gCPU.gpr[rD] = gCPU.gpr[rA] / gCPU.gpr[rB]; in ppc_opc_divwuo()
752 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_divwuo()
764 if (!gCPU.gpr[rB]) { in ppc_opc_divwo()
768 sint32 a = gCPU.gpr[rA]; in ppc_opc_divwo()
769 sint32 b = gCPU.gpr[rB]; in ppc_opc_divwo()
770 gCPU.gpr[rD] = a / b; in ppc_opc_divwo()
773 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_divwo()
785 gCPU.gpr[rA] = ~(gCPU.gpr[rS] ^ gCPU.gpr[rB]); in ppc_opc_eqvx()
788 ppc_update_cr0(gCPU.gpr[rA]); in ppc_opc_eqvx()
801 gCPU.gpr[rA] = gCPU.gpr[rS]; in ppc_opc_extsbx()
802 if (gCPU.gpr[rA] & 0x80) { in ppc_opc_extsbx()
803 gCPU.gpr[rA] |= 0xffffff00; in ppc_opc_extsbx()
805 gCPU.gpr[rA] &= ~0xffffff00; in ppc_opc_extsbx()
809 ppc_update_cr0(gCPU.gpr[rA]); in ppc_opc_extsbx()
821 gCPU.gpr[rA] = gCPU.gpr[rS]; in ppc_opc_extshx()
822 if (gCPU.gpr[rA] & 0x8000) { in ppc_opc_extshx()
823 gCPU.gpr[rA] |= 0xffff0000; in ppc_opc_extshx()
825 gCPU.gpr[rA] &= ~0xffff0000; in ppc_opc_extshx()
829 ppc_update_cr0(gCPU.gpr[rA]); in ppc_opc_extshx()
841 sint64 a = (sint32)gCPU.gpr[rA]; in ppc_opc_mulhwx()
842 sint64 b = (sint32)gCPU.gpr[rB]; in ppc_opc_mulhwx()
844 gCPU.gpr[rD] = ((uint64)c)>>32; in ppc_opc_mulhwx()
847 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_mulhwx()
859 uint64 a = gCPU.gpr[rA]; in ppc_opc_mulhwux()
860 uint64 b = gCPU.gpr[rB]; in ppc_opc_mulhwux()
862 gCPU.gpr[rD] = c>>32; in ppc_opc_mulhwux()
865 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_mulhwux()
878 gCPU.gpr[rD] = gCPU.gpr[rA] * imm; in ppc_opc_mulli()
888 gCPU.gpr[rD] = gCPU.gpr[rA] * gCPU.gpr[rB]; in ppc_opc_mullwx()
891 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_mullwx()
907 gCPU.gpr[rD] = gCPU.gpr[rA] * gCPU.gpr[rB]; in ppc_opc_mullwo()
910 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_mullwo()
922 gCPU.gpr[rA] = ~(gCPU.gpr[rS] & gCPU.gpr[rB]); in ppc_opc_nandx()
925 ppc_update_cr0(gCPU.gpr[rA]); in ppc_opc_nandx()
938 gCPU.gpr[rD] = -gCPU.gpr[rA]; in ppc_opc_negx()
941 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_negx()
953 gCPU.gpr[rD] = -gCPU.gpr[rA]; in ppc_opc_negox()
956 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_negox()
969 gCPU.gpr[rA] = ~(gCPU.gpr[rS] | gCPU.gpr[rB]); in ppc_opc_norx()
972 ppc_update_cr0(gCPU.gpr[rA]); in ppc_opc_norx()
984 gCPU.gpr[rA] = gCPU.gpr[rS] | gCPU.gpr[rB]; in ppc_opc_orx()
987 ppc_update_cr0(gCPU.gpr[rA]); in ppc_opc_orx()
998 gCPU.gpr[rA] = gCPU.gpr[rS] | ~gCPU.gpr[rB]; in ppc_opc_orcx()
1001 ppc_update_cr0(gCPU.gpr[rA]); in ppc_opc_orcx()
1013 gCPU.gpr[rA] = gCPU.gpr[rS] | imm; in ppc_opc_ori()
1024 gCPU.gpr[rA] = gCPU.gpr[rS] | imm; in ppc_opc_oris()
1035 uint32 v = ppc_word_rotl(gCPU.gpr[rS], SH); in ppc_opc_rlwimix()
1037 gCPU.gpr[rA] = (v & mask) | (gCPU.gpr[rA] & ~mask); in ppc_opc_rlwimix()
1040 ppc_update_cr0(gCPU.gpr[rA]); in ppc_opc_rlwimix()
1052 uint32 v = ppc_word_rotl(gCPU.gpr[rS], SH); in ppc_opc_rlwinmx()
1054 gCPU.gpr[rA] = v & mask; in ppc_opc_rlwinmx()
1057 ppc_update_cr0(gCPU.gpr[rA]); in ppc_opc_rlwinmx()
1068 uint32 v = ppc_word_rotl(gCPU.gpr[rS], gCPU.gpr[rB]); in ppc_opc_rlwnmx()
1070 gCPU.gpr[rA] = v & mask; in ppc_opc_rlwnmx()
1073 ppc_update_cr0(gCPU.gpr[rA]); in ppc_opc_rlwnmx()
1085 uint32 s = gCPU.gpr[rB] & 0x3f; in ppc_opc_slwx()
1087 gCPU.gpr[rA] = 0; in ppc_opc_slwx()
1089 gCPU.gpr[rA] = gCPU.gpr[rS] << s; in ppc_opc_slwx()
1093 ppc_update_cr0(gCPU.gpr[rA]); in ppc_opc_slwx()
1104 uint32 SH = gCPU.gpr[rB] & 0x3f; in ppc_opc_srawx()
1105 gCPU.gpr[rA] = gCPU.gpr[rS]; in ppc_opc_srawx()
1107 if (gCPU.gpr[rA] & 0x80000000) { in ppc_opc_srawx()
1110 if (gCPU.gpr[rA] & 1) ca = 1; in ppc_opc_srawx()
1111 gCPU.gpr[rA] >>= 1; in ppc_opc_srawx()
1112 gCPU.gpr[rA] |= 0x80000000; in ppc_opc_srawx()
1117 gCPU.gpr[rA] = 0; in ppc_opc_srawx()
1119 gCPU.gpr[rA] >>= SH; in ppc_opc_srawx()
1124 ppc_update_cr0(gCPU.gpr[rA]); in ppc_opc_srawx()
1136 gCPU.gpr[rA] = gCPU.gpr[rS]; in ppc_opc_srawix()
1138 if (gCPU.gpr[rA] & 0x80000000) { in ppc_opc_srawix()
1141 if (gCPU.gpr[rA] & 1) ca = 1; in ppc_opc_srawix()
1142 gCPU.gpr[rA] >>= 1; in ppc_opc_srawix()
1143 gCPU.gpr[rA] |= 0x80000000; in ppc_opc_srawix()
1148 gCPU.gpr[rA] = 0; in ppc_opc_srawix()
1150 gCPU.gpr[rA] >>= SH; in ppc_opc_srawix()
1155 ppc_update_cr0(gCPU.gpr[rA]); in ppc_opc_srawix()
1166 uint32 v = gCPU.gpr[rB] & 0x3f; in ppc_opc_srwx()
1168 gCPU.gpr[rA] = 0; in ppc_opc_srwx()
1170 gCPU.gpr[rA] = gCPU.gpr[rS] >> v; in ppc_opc_srwx()
1174 ppc_update_cr0(gCPU.gpr[rA]); in ppc_opc_srwx()
1186 gCPU.gpr[rD] = ~gCPU.gpr[rA] + gCPU.gpr[rB] + 1; in ppc_opc_subfx()
1189 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_subfx()
1200 gCPU.gpr[rD] = ~gCPU.gpr[rA] + gCPU.gpr[rB] + 1; in ppc_opc_subfox()
1203 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_subfox()
1216 uint32 a = gCPU.gpr[rA]; in ppc_opc_subfcx()
1217 uint32 b = gCPU.gpr[rB]; in ppc_opc_subfcx()
1218 gCPU.gpr[rD] = ~a + b + 1; in ppc_opc_subfcx()
1227 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_subfcx()
1238 uint32 a = gCPU.gpr[rA]; in ppc_opc_subfcox()
1239 uint32 b = gCPU.gpr[rB]; in ppc_opc_subfcox()
1240 gCPU.gpr[rD] = ~a + b + 1; in ppc_opc_subfcox()
1249 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_subfcox()
1263 uint32 a = gCPU.gpr[rA]; in ppc_opc_subfco()
1264 uint32 b = gCPU.gpr[rB]; in ppc_opc_subfco()
1265 gCPU.gpr[rD] = ~a + b + 1; in ppc_opc_subfco()
1268 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_subfco()
1280 uint32 a = gCPU.gpr[rA]; in ppc_opc_subfex()
1281 uint32 b = gCPU.gpr[rB]; in ppc_opc_subfex()
1283 gCPU.gpr[rD] = ~a + b + ca; in ppc_opc_subfex()
1292 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_subfex()
1303 uint32 a = gCPU.gpr[rA]; in ppc_opc_subfeox()
1304 uint32 b = gCPU.gpr[rB]; in ppc_opc_subfeox()
1306 gCPU.gpr[rD] = ~a + b + ca; in ppc_opc_subfeox()
1315 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_subfeox()
1329 uint32 a = gCPU.gpr[rA]; in ppc_opc_subfic()
1330 gCPU.gpr[rD] = ~a + imm + 1; in ppc_opc_subfic()
1347 uint32 a = gCPU.gpr[rA]; in ppc_opc_subfmex()
1349 gCPU.gpr[rD] = ~a + ca + 0xffffffff; in ppc_opc_subfmex()
1358 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_subfmex()
1370 uint32 a = gCPU.gpr[rA]; in ppc_opc_subfmeox()
1372 gCPU.gpr[rD] = ~a + ca + 0xffffffff; in ppc_opc_subfmeox()
1381 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_subfmeox()
1395 uint32 a = gCPU.gpr[rA]; in ppc_opc_subfzex()
1397 gCPU.gpr[rD] = ~a + ca; in ppc_opc_subfzex()
1405 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_subfzex()
1417 uint32 a = gCPU.gpr[rA]; in ppc_opc_subfzeox()
1419 gCPU.gpr[rD] = ~a + ca; in ppc_opc_subfzeox()
1427 ppc_update_cr0(gCPU.gpr[rD]); in ppc_opc_subfzeox()
1441 gCPU.gpr[rA] = gCPU.gpr[rS] ^ gCPU.gpr[rB]; in ppc_opc_xorx()
1444 ppc_update_cr0(gCPU.gpr[rA]); in ppc_opc_xorx()
1456 gCPU.gpr[rA] = gCPU.gpr[rS] ^ imm; in ppc_opc_xori()
1467 gCPU.gpr[rA] = gCPU.gpr[rS] ^ imm; in ppc_opc_xoris()