• Home
  • Raw
  • Download

Lines Matching refs:Pin

769    i->Pin.LI.dst   = dst;  in PPCInstr_LI()
770 i->Pin.LI.imm64 = imm64; in PPCInstr_LI()
779 i->Pin.Alu.op = op; in PPCInstr_Alu()
780 i->Pin.Alu.dst = dst; in PPCInstr_Alu()
781 i->Pin.Alu.srcL = srcL; in PPCInstr_Alu()
782 i->Pin.Alu.srcR = srcR; in PPCInstr_Alu()
789 i->Pin.Shft.op = op; in PPCInstr_Shft()
790 i->Pin.Shft.sz32 = sz32; in PPCInstr_Shft()
791 i->Pin.Shft.dst = dst; in PPCInstr_Shft()
792 i->Pin.Shft.srcL = srcL; in PPCInstr_Shft()
793 i->Pin.Shft.srcR = srcR; in PPCInstr_Shft()
800 i->Pin.AddSubC.isAdd = isAdd; in PPCInstr_AddSubC()
801 i->Pin.AddSubC.setC = setC; in PPCInstr_AddSubC()
802 i->Pin.AddSubC.dst = dst; in PPCInstr_AddSubC()
803 i->Pin.AddSubC.srcL = srcL; in PPCInstr_AddSubC()
804 i->Pin.AddSubC.srcR = srcR; in PPCInstr_AddSubC()
811 i->Pin.Cmp.syned = syned; in PPCInstr_Cmp()
812 i->Pin.Cmp.sz32 = sz32; in PPCInstr_Cmp()
813 i->Pin.Cmp.crfD = crfD; in PPCInstr_Cmp()
814 i->Pin.Cmp.srcL = srcL; in PPCInstr_Cmp()
815 i->Pin.Cmp.srcR = srcR; in PPCInstr_Cmp()
821 i->Pin.Unary.op = op; in PPCInstr_Unary()
822 i->Pin.Unary.dst = dst; in PPCInstr_Unary()
823 i->Pin.Unary.src = src; in PPCInstr_Unary()
830 i->Pin.MulL.syned = syned; in PPCInstr_MulL()
831 i->Pin.MulL.hi = hi; in PPCInstr_MulL()
832 i->Pin.MulL.sz32 = sz32; in PPCInstr_MulL()
833 i->Pin.MulL.dst = dst; in PPCInstr_MulL()
834 i->Pin.MulL.srcL = srcL; in PPCInstr_MulL()
835 i->Pin.MulL.srcR = srcR; in PPCInstr_MulL()
845 i->Pin.Div.extended = extended; in PPCInstr_Div()
846 i->Pin.Div.syned = syned; in PPCInstr_Div()
847 i->Pin.Div.sz32 = sz32; in PPCInstr_Div()
848 i->Pin.Div.dst = dst; in PPCInstr_Div()
849 i->Pin.Div.srcL = srcL; in PPCInstr_Div()
850 i->Pin.Div.srcR = srcR; in PPCInstr_Div()
858 i->Pin.Call.cond = cond; in PPCInstr_Call()
859 i->Pin.Call.target = target; in PPCInstr_Call()
860 i->Pin.Call.argiregs = argiregs; in PPCInstr_Call()
861 i->Pin.Call.rloc = rloc; in PPCInstr_Call()
872 i->Pin.XDirect.dstGA = dstGA; in PPCInstr_XDirect()
873 i->Pin.XDirect.amCIA = amCIA; in PPCInstr_XDirect()
874 i->Pin.XDirect.cond = cond; in PPCInstr_XDirect()
875 i->Pin.XDirect.toFastEP = toFastEP; in PPCInstr_XDirect()
882 i->Pin.XIndir.dstGA = dstGA; in PPCInstr_XIndir()
883 i->Pin.XIndir.amCIA = amCIA; in PPCInstr_XIndir()
884 i->Pin.XIndir.cond = cond; in PPCInstr_XIndir()
891 i->Pin.XAssisted.dstGA = dstGA; in PPCInstr_XAssisted()
892 i->Pin.XAssisted.amCIA = amCIA; in PPCInstr_XAssisted()
893 i->Pin.XAssisted.cond = cond; in PPCInstr_XAssisted()
894 i->Pin.XAssisted.jk = jk; in PPCInstr_XAssisted()
901 i->Pin.CMov.cond = cond; in PPCInstr_CMov()
902 i->Pin.CMov.src = src; in PPCInstr_CMov()
903 i->Pin.CMov.dst = dst; in PPCInstr_CMov()
911 i->Pin.Load.sz = sz; in PPCInstr_Load()
912 i->Pin.Load.src = src; in PPCInstr_Load()
913 i->Pin.Load.dst = dst; in PPCInstr_Load()
923 i->Pin.LoadL.sz = sz; in PPCInstr_LoadL()
924 i->Pin.LoadL.src = src; in PPCInstr_LoadL()
925 i->Pin.LoadL.dst = dst; in PPCInstr_LoadL()
934 i->Pin.Store.sz = sz; in PPCInstr_Store()
935 i->Pin.Store.src = src; in PPCInstr_Store()
936 i->Pin.Store.dst = dst; in PPCInstr_Store()
944 i->Pin.StoreC.sz = sz; in PPCInstr_StoreC()
945 i->Pin.StoreC.src = src; in PPCInstr_StoreC()
946 i->Pin.StoreC.dst = dst; in PPCInstr_StoreC()
954 i->Pin.Set.cond = cond; in PPCInstr_Set()
955 i->Pin.Set.dst = dst; in PPCInstr_Set()
962 i->Pin.MfCR.dst = dst; in PPCInstr_MfCR()
975 i->Pin.FpUnary.op = op; in PPCInstr_FpUnary()
976 i->Pin.FpUnary.dst = dst; in PPCInstr_FpUnary()
977 i->Pin.FpUnary.src = src; in PPCInstr_FpUnary()
984 i->Pin.FpBinary.op = op; in PPCInstr_FpBinary()
985 i->Pin.FpBinary.dst = dst; in PPCInstr_FpBinary()
986 i->Pin.FpBinary.srcL = srcL; in PPCInstr_FpBinary()
987 i->Pin.FpBinary.srcR = srcR; in PPCInstr_FpBinary()
993 i->Pin.Fp128Unary.op = op; in PPCInstr_Fp128Unary()
994 i->Pin.Fp128Unary.dst = dst; in PPCInstr_Fp128Unary()
995 i->Pin.Fp128Unary.src = src; in PPCInstr_Fp128Unary()
1001 i->Pin.Fp128Binary.op = op; in PPCInstr_Fp128Binary()
1002 i->Pin.Fp128Binary.dst = dst; in PPCInstr_Fp128Binary()
1003 i->Pin.Fp128Binary.srcL = srcL; in PPCInstr_Fp128Binary()
1004 i->Pin.Fp128Binary.srcR = srcR; in PPCInstr_Fp128Binary()
1010 i->Pin.Fp128Trinary.op = op; in PPCInstr_Fp128Trinary()
1011 i->Pin.Fp128Trinary.dst = dst; in PPCInstr_Fp128Trinary()
1012 i->Pin.Fp128Trinary.srcL = srcL; in PPCInstr_Fp128Trinary()
1013 i->Pin.Fp128Trinary.srcR = srcR; in PPCInstr_Fp128Trinary()
1021 i->Pin.FpMulAcc.op = op; in PPCInstr_FpMulAcc()
1022 i->Pin.FpMulAcc.dst = dst; in PPCInstr_FpMulAcc()
1023 i->Pin.FpMulAcc.srcML = srcML; in PPCInstr_FpMulAcc()
1024 i->Pin.FpMulAcc.srcMR = srcMR; in PPCInstr_FpMulAcc()
1025 i->Pin.FpMulAcc.srcAcc = srcAcc; in PPCInstr_FpMulAcc()
1032 i->Pin.FpLdSt.isLoad = isLoad; in PPCInstr_FpLdSt()
1033 i->Pin.FpLdSt.sz = sz; in PPCInstr_FpLdSt()
1034 i->Pin.FpLdSt.reg = reg; in PPCInstr_FpLdSt()
1035 i->Pin.FpLdSt.addr = addr; in PPCInstr_FpLdSt()
1043 i->Pin.FpSTFIW.addr = addr; in PPCInstr_FpSTFIW()
1044 i->Pin.FpSTFIW.data = data; in PPCInstr_FpSTFIW()
1050 i->Pin.FpRSP.dst = dst; in PPCInstr_FpRSP()
1051 i->Pin.FpRSP.src = src; in PPCInstr_FpRSP()
1057 i->Pin.Dfp64Unary.op = op; in PPCInstr_Dfp64Unary()
1058 i->Pin.Dfp64Unary.dst = dst; in PPCInstr_Dfp64Unary()
1059 i->Pin.Dfp64Unary.src = src; in PPCInstr_Dfp64Unary()
1065 i->Pin.Dfp64Binary.op = op; in PPCInstr_Dfp64Binary()
1066 i->Pin.Dfp64Binary.dst = dst; in PPCInstr_Dfp64Binary()
1067 i->Pin.Dfp64Binary.srcL = srcL; in PPCInstr_Dfp64Binary()
1068 i->Pin.Dfp64Binary.srcR = srcR; in PPCInstr_Dfp64Binary()
1074 i->Pin.DfpShift.op = op; in PPCInstr_DfpShift()
1075 i->Pin.DfpShift.shift = shift; in PPCInstr_DfpShift()
1076 i->Pin.DfpShift.src = src; in PPCInstr_DfpShift()
1077 i->Pin.DfpShift.dst = dst; in PPCInstr_DfpShift()
1084 i->Pin.Dfp128Unary.op = op; in PPCInstr_Dfp128Unary()
1085 i->Pin.Dfp128Unary.dst_hi = dst_hi; in PPCInstr_Dfp128Unary()
1086 i->Pin.Dfp128Unary.dst_lo = dst_lo; in PPCInstr_Dfp128Unary()
1087 i->Pin.Dfp128Unary.src_hi = src_hi; in PPCInstr_Dfp128Unary()
1088 i->Pin.Dfp128Unary.src_lo = src_lo; in PPCInstr_Dfp128Unary()
1096 i->Pin.Dfp128Binary.op = op; in PPCInstr_Dfp128Binary()
1097 i->Pin.Dfp128Binary.dst_hi = dst_hi; in PPCInstr_Dfp128Binary()
1098 i->Pin.Dfp128Binary.dst_lo = dst_lo; in PPCInstr_Dfp128Binary()
1099 i->Pin.Dfp128Binary.srcR_hi = srcR_hi; in PPCInstr_Dfp128Binary()
1100 i->Pin.Dfp128Binary.srcR_lo = srcR_lo; in PPCInstr_Dfp128Binary()
1108 i->Pin.DfpShift128.op = op; in PPCInstr_DfpShift128()
1109 i->Pin.DfpShift128.shift = shift; in PPCInstr_DfpShift128()
1110 i->Pin.DfpShift128.src_hi = src_hi; in PPCInstr_DfpShift128()
1111 i->Pin.DfpShift128.src_lo = src_lo; in PPCInstr_DfpShift128()
1112 i->Pin.DfpShift128.dst_hi = dst_hi; in PPCInstr_DfpShift128()
1113 i->Pin.DfpShift128.dst_lo = dst_lo; in PPCInstr_DfpShift128()
1119 i->Pin.DfpRound.dst = dst; in PPCInstr_DfpRound()
1120 i->Pin.DfpRound.src = src; in PPCInstr_DfpRound()
1121 i->Pin.DfpRound.r_rmc = r_rmc; in PPCInstr_DfpRound()
1128 i->Pin.DfpRound128.dst_hi = dst_hi; in PPCInstr_DfpRound128()
1129 i->Pin.DfpRound128.dst_lo = dst_lo; in PPCInstr_DfpRound128()
1130 i->Pin.DfpRound128.src_hi = src_hi; in PPCInstr_DfpRound128()
1131 i->Pin.DfpRound128.src_lo = src_lo; in PPCInstr_DfpRound128()
1132 i->Pin.DfpRound128.r_rmc = r_rmc; in PPCInstr_DfpRound128()
1139 i->Pin.DfpQuantize.op = op; in PPCInstr_DfpQuantize()
1140 i->Pin.DfpQuantize.dst = dst; in PPCInstr_DfpQuantize()
1141 i->Pin.DfpQuantize.srcL = srcL; in PPCInstr_DfpQuantize()
1142 i->Pin.DfpQuantize.srcR = srcR; in PPCInstr_DfpQuantize()
1143 i->Pin.DfpQuantize.rmc = rmc; in PPCInstr_DfpQuantize()
1151 i->Pin.DfpQuantize128.op = op; in PPCInstr_DfpQuantize128()
1152 i->Pin.DfpQuantize128.dst_hi = dst_hi; in PPCInstr_DfpQuantize128()
1153 i->Pin.DfpQuantize128.dst_lo = dst_lo; in PPCInstr_DfpQuantize128()
1154 i->Pin.DfpQuantize128.src_hi = src_hi; in PPCInstr_DfpQuantize128()
1155 i->Pin.DfpQuantize128.src_lo = src_lo; in PPCInstr_DfpQuantize128()
1156 i->Pin.DfpQuantize128.rmc = rmc; in PPCInstr_DfpQuantize128()
1163 i->Pin.DfpD128toD64.op = op; in PPCInstr_DfpD128toD64()
1164 i->Pin.DfpD128toD64.src_hi = src_hi; in PPCInstr_DfpD128toD64()
1165 i->Pin.DfpD128toD64.src_lo = src_lo; in PPCInstr_DfpD128toD64()
1166 i->Pin.DfpD128toD64.dst = dst; in PPCInstr_DfpD128toD64()
1173 i->Pin.DfpI64StoD128.op = op; in PPCInstr_DfpI64StoD128()
1174 i->Pin.DfpI64StoD128.src = src; in PPCInstr_DfpI64StoD128()
1175 i->Pin.DfpI64StoD128.dst_hi = dst_hi; in PPCInstr_DfpI64StoD128()
1176 i->Pin.DfpI64StoD128.dst_lo = dst_lo; in PPCInstr_DfpI64StoD128()
1184 i->Pin.ExtractExpD128.op = op; in PPCInstr_ExtractExpD128()
1185 i->Pin.ExtractExpD128.dst = dst; in PPCInstr_ExtractExpD128()
1186 i->Pin.ExtractExpD128.src_hi = src_hi; in PPCInstr_ExtractExpD128()
1187 i->Pin.ExtractExpD128.src_lo = src_lo; in PPCInstr_ExtractExpD128()
1195 i->Pin.InsertExpD128.op = op; in PPCInstr_InsertExpD128()
1196 i->Pin.InsertExpD128.dst_hi = dst_hi; in PPCInstr_InsertExpD128()
1197 i->Pin.InsertExpD128.dst_lo = dst_lo; in PPCInstr_InsertExpD128()
1198 i->Pin.InsertExpD128.srcL = srcL; in PPCInstr_InsertExpD128()
1199 i->Pin.InsertExpD128.srcR_hi = srcR_hi; in PPCInstr_InsertExpD128()
1200 i->Pin.InsertExpD128.srcR_lo = srcR_lo; in PPCInstr_InsertExpD128()
1206 i->Pin.Dfp64Cmp.dst = dst; in PPCInstr_Dfp64Cmp()
1207 i->Pin.Dfp64Cmp.srcL = srcL; in PPCInstr_Dfp64Cmp()
1208 i->Pin.Dfp64Cmp.srcR = srcR; in PPCInstr_Dfp64Cmp()
1215 i->Pin.Dfp128Cmp.dst = dst; in PPCInstr_Dfp128Cmp()
1216 i->Pin.Dfp128Cmp.srcL_hi = srcL_hi; in PPCInstr_Dfp128Cmp()
1217 i->Pin.Dfp128Cmp.srcL_lo = srcL_lo; in PPCInstr_Dfp128Cmp()
1218 i->Pin.Dfp128Cmp.srcR_hi = srcR_hi; in PPCInstr_Dfp128Cmp()
1219 i->Pin.Dfp128Cmp.srcR_lo = srcR_lo; in PPCInstr_Dfp128Cmp()
1226 i->Pin.EvCheck.amCounter = amCounter; in PPCInstr_EvCheck()
1227 i->Pin.EvCheck.amFailAddr = amFailAddr; in PPCInstr_EvCheck()
1288 i->Pin.FpCftI.fromI = fromI; in PPCInstr_FpCftI()
1289 i->Pin.FpCftI.int32 = int32; in PPCInstr_FpCftI()
1290 i->Pin.FpCftI.syned = syned; in PPCInstr_FpCftI()
1291 i->Pin.FpCftI.flt64 = flt64; in PPCInstr_FpCftI()
1292 i->Pin.FpCftI.dst = dst; in PPCInstr_FpCftI()
1293 i->Pin.FpCftI.src = src; in PPCInstr_FpCftI()
1299 i->Pin.FpCMov.cond = cond; in PPCInstr_FpCMov()
1300 i->Pin.FpCMov.dst = dst; in PPCInstr_FpCMov()
1301 i->Pin.FpCMov.src = src; in PPCInstr_FpCMov()
1308 i->Pin.FpLdFPSCR.src = src; in PPCInstr_FpLdFPSCR()
1309 i->Pin.FpLdFPSCR.dfp_rm = dfp_rm ? 1 : 0; in PPCInstr_FpLdFPSCR()
1315 i->Pin.FpCmp.dst = dst; in PPCInstr_FpCmp()
1316 i->Pin.FpCmp.srcL = srcL; in PPCInstr_FpCmp()
1317 i->Pin.FpCmp.srcR = srcR; in PPCInstr_FpCmp()
1325 i->Pin.RdWrLR.wrLR = wrLR; in PPCInstr_RdWrLR()
1326 i->Pin.RdWrLR.gpr = gpr; in PPCInstr_RdWrLR()
1335 i->Pin.AvLdSt.isLoad = isLoad; in PPCInstr_AvLdSt()
1336 i->Pin.AvLdSt.sz = sz; in PPCInstr_AvLdSt()
1337 i->Pin.AvLdSt.reg = reg; in PPCInstr_AvLdSt()
1338 i->Pin.AvLdSt.addr = addr; in PPCInstr_AvLdSt()
1344 i->Pin.AvUnary.op = op; in PPCInstr_AvUnary()
1345 i->Pin.AvUnary.dst = dst; in PPCInstr_AvUnary()
1346 i->Pin.AvUnary.src = src; in PPCInstr_AvUnary()
1353 i->Pin.AvBinary.op = op; in PPCInstr_AvBinary()
1354 i->Pin.AvBinary.dst = dst; in PPCInstr_AvBinary()
1355 i->Pin.AvBinary.srcL = srcL; in PPCInstr_AvBinary()
1356 i->Pin.AvBinary.srcR = srcR; in PPCInstr_AvBinary()
1363 i->Pin.AvBinaryInt.op = op; in PPCInstr_AvBinaryInt()
1364 i->Pin.AvBinaryInt.dst = dst; in PPCInstr_AvBinaryInt()
1365 i->Pin.AvBinaryInt.src = src; in PPCInstr_AvBinaryInt()
1366 i->Pin.AvBinaryInt.val = val; in PPCInstr_AvBinaryInt()
1373 i->Pin.AvBin8x16.op = op; in PPCInstr_AvBin8x16()
1374 i->Pin.AvBin8x16.dst = dst; in PPCInstr_AvBin8x16()
1375 i->Pin.AvBin8x16.srcL = srcL; in PPCInstr_AvBin8x16()
1376 i->Pin.AvBin8x16.srcR = srcR; in PPCInstr_AvBin8x16()
1383 i->Pin.AvBin16x8.op = op; in PPCInstr_AvBin16x8()
1384 i->Pin.AvBin16x8.dst = dst; in PPCInstr_AvBin16x8()
1385 i->Pin.AvBin16x8.srcL = srcL; in PPCInstr_AvBin16x8()
1386 i->Pin.AvBin16x8.srcR = srcR; in PPCInstr_AvBin16x8()
1393 i->Pin.AvBin32x4.op = op; in PPCInstr_AvBin32x4()
1394 i->Pin.AvBin32x4.dst = dst; in PPCInstr_AvBin32x4()
1395 i->Pin.AvBin32x4.srcL = srcL; in PPCInstr_AvBin32x4()
1396 i->Pin.AvBin32x4.srcR = srcR; in PPCInstr_AvBin32x4()
1403 i->Pin.AvBin64x2.op = op; in PPCInstr_AvBin64x2()
1404 i->Pin.AvBin64x2.dst = dst; in PPCInstr_AvBin64x2()
1405 i->Pin.AvBin64x2.srcL = srcL; in PPCInstr_AvBin64x2()
1406 i->Pin.AvBin64x2.srcR = srcR; in PPCInstr_AvBin64x2()
1414 i->Pin.AvBin32Fx4.op = op; in PPCInstr_AvBin32Fx4()
1415 i->Pin.AvBin32Fx4.dst = dst; in PPCInstr_AvBin32Fx4()
1416 i->Pin.AvBin32Fx4.srcL = srcL; in PPCInstr_AvBin32Fx4()
1417 i->Pin.AvBin32Fx4.srcR = srcR; in PPCInstr_AvBin32Fx4()
1423 i->Pin.AvUn32Fx4.op = op; in PPCInstr_AvUn32Fx4()
1424 i->Pin.AvUn32Fx4.dst = dst; in PPCInstr_AvUn32Fx4()
1425 i->Pin.AvUn32Fx4.src = src; in PPCInstr_AvUn32Fx4()
1431 i->Pin.AvPerm.dst = dst; in PPCInstr_AvPerm()
1432 i->Pin.AvPerm.srcL = srcL; in PPCInstr_AvPerm()
1433 i->Pin.AvPerm.srcR = srcR; in PPCInstr_AvPerm()
1434 i->Pin.AvPerm.ctl = ctl; in PPCInstr_AvPerm()
1441 i->Pin.AvSel.ctl = ctl; in PPCInstr_AvSel()
1442 i->Pin.AvSel.dst = dst; in PPCInstr_AvSel()
1443 i->Pin.AvSel.srcL = srcL; in PPCInstr_AvSel()
1444 i->Pin.AvSel.srcR = srcR; in PPCInstr_AvSel()
1450 i->Pin.AvSh.shLeft = shLeft; in PPCInstr_AvSh()
1451 i->Pin.AvSh.dst = dst; in PPCInstr_AvSh()
1452 i->Pin.AvSh.addr = addr; in PPCInstr_AvSh()
1459 i->Pin.AvShlDbl.shift = shift; in PPCInstr_AvShlDbl()
1460 i->Pin.AvShlDbl.dst = dst; in PPCInstr_AvShlDbl()
1461 i->Pin.AvShlDbl.srcL = srcL; in PPCInstr_AvShlDbl()
1462 i->Pin.AvShlDbl.srcR = srcR; in PPCInstr_AvShlDbl()
1468 i->Pin.AvSplat.sz = sz; in PPCInstr_AvSplat()
1469 i->Pin.AvSplat.dst = dst; in PPCInstr_AvSplat()
1470 i->Pin.AvSplat.src = src; in PPCInstr_AvSplat()
1476 i->Pin.AvCMov.cond = cond; in PPCInstr_AvCMov()
1477 i->Pin.AvCMov.dst = dst; in PPCInstr_AvCMov()
1478 i->Pin.AvCMov.src = src; in PPCInstr_AvCMov()
1485 i->Pin.AvLdVSCR.src = src; in PPCInstr_AvLdVSCR()
1491 i->Pin.AvCipherV128Unary.op = op; in PPCInstr_AvCipherV128Unary()
1492 i->Pin.AvCipherV128Unary.dst = dst; in PPCInstr_AvCipherV128Unary()
1493 i->Pin.AvCipherV128Unary.src = src; in PPCInstr_AvCipherV128Unary()
1500 i->Pin.AvCipherV128Binary.op = op; in PPCInstr_AvCipherV128Binary()
1501 i->Pin.AvCipherV128Binary.dst = dst; in PPCInstr_AvCipherV128Binary()
1502 i->Pin.AvCipherV128Binary.srcL = srcL; in PPCInstr_AvCipherV128Binary()
1503 i->Pin.AvCipherV128Binary.srcR = srcR; in PPCInstr_AvCipherV128Binary()
1510 i->Pin.AvHashV128Binary.op = op; in PPCInstr_AvHashV128Binary()
1511 i->Pin.AvHashV128Binary.dst = dst; in PPCInstr_AvHashV128Binary()
1512 i->Pin.AvHashV128Binary.src = src; in PPCInstr_AvHashV128Binary()
1513 i->Pin.AvHashV128Binary.s_field = s_field; in PPCInstr_AvHashV128Binary()
1520 i->Pin.AvBCDV128Binary.op = op; in PPCInstr_AvBCDV128Binary()
1521 i->Pin.AvBCDV128Binary.dst = dst; in PPCInstr_AvBCDV128Binary()
1522 i->Pin.AvBCDV128Binary.src1 = src1; in PPCInstr_AvBCDV128Binary()
1523 i->Pin.AvBCDV128Binary.src2 = src2; in PPCInstr_AvBCDV128Binary()
1552 ppLoadImm(i->Pin.LI.dst, i->Pin.LI.imm64, mode64); in ppPPCInstr()
1555 HReg r_srcL = i->Pin.Alu.srcL; in ppPPCInstr()
1556 PPCRH* rh_srcR = i->Pin.Alu.srcR; in ppPPCInstr()
1558 if (i->Pin.Alu.op == Palu_OR && // or Rd,Rs,Rs == mr Rd,Rs in ppPPCInstr()
1562 ppHRegPPC(i->Pin.Alu.dst); in ppPPCInstr()
1568 if (i->Pin.Alu.op == Palu_ADD && // addi Rd,0,imm == li Rd,imm in ppPPCInstr()
1572 ppHRegPPC(i->Pin.Alu.dst); in ppPPCInstr()
1578 vex_printf("%s ", showPPCAluOp(i->Pin.Alu.op, in ppPPCInstr()
1580 ppHRegPPC(i->Pin.Alu.dst); in ppPPCInstr()
1588 HReg r_srcL = i->Pin.Shft.srcL; in ppPPCInstr()
1589 PPCRH* rh_srcR = i->Pin.Shft.srcR; in ppPPCInstr()
1590 vex_printf("%s ", showPPCShftOp(i->Pin.Shft.op, in ppPPCInstr()
1592 i->Pin.Shft.sz32)); in ppPPCInstr()
1593 ppHRegPPC(i->Pin.Shft.dst); in ppPPCInstr()
1602 i->Pin.AddSubC.isAdd ? "add" : "sub", in ppPPCInstr()
1603 i->Pin.AddSubC.setC ? "c" : "e"); in ppPPCInstr()
1604 ppHRegPPC(i->Pin.AddSubC.dst); in ppPPCInstr()
1606 ppHRegPPC(i->Pin.AddSubC.srcL); in ppPPCInstr()
1608 ppHRegPPC(i->Pin.AddSubC.srcR); in ppPPCInstr()
1612 i->Pin.Cmp.syned ? "cmp" : "cmpl", in ppPPCInstr()
1613 i->Pin.Cmp.sz32 ? 'w' : 'd', in ppPPCInstr()
1614 i->Pin.Cmp.srcR->tag == Prh_Imm ? "i" : "", in ppPPCInstr()
1615 i->Pin.Cmp.crfD); in ppPPCInstr()
1616 ppHRegPPC(i->Pin.Cmp.srcL); in ppPPCInstr()
1618 ppPPCRH(i->Pin.Cmp.srcR); in ppPPCInstr()
1621 vex_printf("%s ", showPPCUnaryOp(i->Pin.Unary.op)); in ppPPCInstr()
1622 ppHRegPPC(i->Pin.Unary.dst); in ppPPCInstr()
1624 ppHRegPPC(i->Pin.Unary.src); in ppPPCInstr()
1628 i->Pin.MulL.hi ? 'h' : 'l', in ppPPCInstr()
1629 i->Pin.MulL.sz32 ? 'w' : 'd', in ppPPCInstr()
1630 i->Pin.MulL.hi ? (i->Pin.MulL.syned ? "s" : "u") : ""); in ppPPCInstr()
1631 ppHRegPPC(i->Pin.MulL.dst); in ppPPCInstr()
1633 ppHRegPPC(i->Pin.MulL.srcL); in ppPPCInstr()
1635 ppHRegPPC(i->Pin.MulL.srcR); in ppPPCInstr()
1639 i->Pin.Div.sz32 ? 'w' : 'd', in ppPPCInstr()
1640 i->Pin.Div.extended ? "e" : "", in ppPPCInstr()
1641 i->Pin.Div.syned ? "" : "u"); in ppPPCInstr()
1642 ppHRegPPC(i->Pin.Div.dst); in ppPPCInstr()
1644 ppHRegPPC(i->Pin.Div.srcL); in ppPPCInstr()
1646 ppHRegPPC(i->Pin.Div.srcR); in ppPPCInstr()
1651 if (i->Pin.Call.cond.test != Pct_ALWAYS) { in ppPPCInstr()
1652 vex_printf("if (%s) ", showPPCCondCode(i->Pin.Call.cond)); in ppPPCInstr()
1655 ppLoadImm(hregPPC_GPR10(mode64), i->Pin.Call.target, mode64); in ppPPCInstr()
1658 if (i->Pin.Call.argiregs & (1<<n)) { in ppPPCInstr()
1660 if ((i->Pin.Call.argiregs >> n) > 1) in ppPPCInstr()
1665 ppRetLoc(i->Pin.Call.rloc); in ppPPCInstr()
1672 showPPCCondCode(i->Pin.XDirect.cond)); in ppPPCInstr()
1674 vex_printf("imm64 r30,0x%llx; ", i->Pin.XDirect.dstGA); in ppPPCInstr()
1677 vex_printf("imm32 r30,0x%llx; ", i->Pin.XDirect.dstGA); in ppPPCInstr()
1680 ppPPCAMode(i->Pin.XDirect.amCIA); in ppPPCInstr()
1684 i->Pin.XDirect.toFastEP ? "fast" : "slow"); in ppPPCInstr()
1687 i->Pin.XDirect.toFastEP ? "fast" : "slow"); in ppPPCInstr()
1694 showPPCCondCode(i->Pin.XIndir.cond)); in ppPPCInstr()
1696 ppHRegPPC(i->Pin.XIndir.dstGA); in ppPPCInstr()
1698 ppPPCAMode(i->Pin.XIndir.amCIA); in ppPPCInstr()
1706 showPPCCondCode(i->Pin.XAssisted.cond)); in ppPPCInstr()
1708 ppHRegPPC(i->Pin.XAssisted.dstGA); in ppPPCInstr()
1710 ppPPCAMode(i->Pin.XAssisted.amCIA); in ppPPCInstr()
1713 (Int)i->Pin.XAssisted.jk); in ppPPCInstr()
1718 vex_printf("cmov (%s) ", showPPCCondCode(i->Pin.CMov.cond)); in ppPPCInstr()
1719 ppHRegPPC(i->Pin.CMov.dst); in ppPPCInstr()
1721 ppPPCRI(i->Pin.CMov.src); in ppPPCInstr()
1723 if (i->Pin.CMov.cond.test != Pct_ALWAYS) { in ppPPCInstr()
1724 vex_printf("if (%s) ", showPPCCondCode(i->Pin.CMov.cond)); in ppPPCInstr()
1727 if (i->Pin.CMov.src->tag == Pri_Imm) { in ppPPCInstr()
1728 ppLoadImm(i->Pin.CMov.dst, i->Pin.CMov.src->Pri.Imm, mode64); in ppPPCInstr()
1730 ppMovReg(i->Pin.CMov.dst, i->Pin.CMov.src->Pri.Reg); in ppPPCInstr()
1735 Bool idxd = toBool(i->Pin.Load.src->tag == Pam_RR); in ppPPCInstr()
1736 UChar sz = i->Pin.Load.sz; in ppPPCInstr()
1739 ppHRegPPC(i->Pin.Load.dst); in ppPPCInstr()
1741 ppPPCAMode(i->Pin.Load.src); in ppPPCInstr()
1745 UChar sz = i->Pin.LoadL.sz; in ppPPCInstr()
1748 ppHRegPPC(i->Pin.LoadL.dst); in ppPPCInstr()
1750 ppHRegPPC(i->Pin.LoadL.src); in ppPPCInstr()
1754 UChar sz = i->Pin.Store.sz; in ppPPCInstr()
1755 Bool idxd = toBool(i->Pin.Store.dst->tag == Pam_RR); in ppPPCInstr()
1758 ppHRegPPC(i->Pin.Store.src); in ppPPCInstr()
1760 ppPPCAMode(i->Pin.Store.dst); in ppPPCInstr()
1764 UChar sz = i->Pin.StoreC.sz; in ppPPCInstr()
1767 ppHRegPPC(i->Pin.StoreC.src); in ppPPCInstr()
1769 ppHRegPPC(i->Pin.StoreC.dst); in ppPPCInstr()
1773 PPCCondCode cc = i->Pin.Set.cond; in ppPPCInstr()
1775 ppHRegPPC(i->Pin.Set.dst); in ppPPCInstr()
1778 ppHRegPPC(i->Pin.Set.dst); in ppPPCInstr()
1782 ppHRegPPC(i->Pin.Set.dst); in ppPPCInstr()
1786 ppHRegPPC(i->Pin.Set.dst); in ppPPCInstr()
1788 ppHRegPPC(i->Pin.Set.dst); in ppPPCInstr()
1797 ppHRegPPC(i->Pin.MfCR.dst); in ppPPCInstr()
1804 vex_printf("%s ", showPPCFpOp(i->Pin.FpUnary.op)); in ppPPCInstr()
1805 ppHRegPPC(i->Pin.FpUnary.dst); in ppPPCInstr()
1807 ppHRegPPC(i->Pin.FpUnary.src); in ppPPCInstr()
1810 vex_printf("%s ", showPPCFpOp(i->Pin.FpBinary.op)); in ppPPCInstr()
1811 ppHRegPPC(i->Pin.FpBinary.dst); in ppPPCInstr()
1813 ppHRegPPC(i->Pin.FpBinary.srcL); in ppPPCInstr()
1815 ppHRegPPC(i->Pin.FpBinary.srcR); in ppPPCInstr()
1818 vex_printf("%s ", showPPCFpOp(i->Pin.Fp128Unary.op)); in ppPPCInstr()
1819 ppHRegPPC(i->Pin.Fp128Unary.dst); in ppPPCInstr()
1821 ppHRegPPC(i->Pin.Fp128Unary.src); in ppPPCInstr()
1824 vex_printf("%s ", showPPCFpOp(i->Pin.Fp128Binary.op)); in ppPPCInstr()
1825 ppHRegPPC(i->Pin.Fp128Binary.dst); in ppPPCInstr()
1827 ppHRegPPC(i->Pin.Fp128Binary.srcL); in ppPPCInstr()
1829 ppHRegPPC(i->Pin.Fp128Binary.srcR); in ppPPCInstr()
1832 vex_printf("%s ", showPPCFpOp(i->Pin.Fp128Trinary.op)); in ppPPCInstr()
1833 ppHRegPPC(i->Pin.Fp128Trinary.dst); in ppPPCInstr()
1835 ppHRegPPC(i->Pin.Fp128Trinary.srcL); in ppPPCInstr()
1837 ppHRegPPC(i->Pin.Fp128Trinary.srcR); in ppPPCInstr()
1840 vex_printf("%s ", showPPCFpOp(i->Pin.FpMulAcc.op)); in ppPPCInstr()
1841 ppHRegPPC(i->Pin.FpMulAcc.dst); in ppPPCInstr()
1843 ppHRegPPC(i->Pin.FpMulAcc.srcML); in ppPPCInstr()
1845 ppHRegPPC(i->Pin.FpMulAcc.srcMR); in ppPPCInstr()
1847 ppHRegPPC(i->Pin.FpMulAcc.srcAcc); in ppPPCInstr()
1850 UChar sz = i->Pin.FpLdSt.sz; in ppPPCInstr()
1851 Bool idxd = toBool(i->Pin.FpLdSt.addr->tag == Pam_RR); in ppPPCInstr()
1852 if (i->Pin.FpLdSt.isLoad) { in ppPPCInstr()
1856 ppHRegPPC(i->Pin.FpLdSt.reg); in ppPPCInstr()
1858 ppPPCAMode(i->Pin.FpLdSt.addr); in ppPPCInstr()
1863 ppHRegPPC(i->Pin.FpLdSt.reg); in ppPPCInstr()
1865 ppPPCAMode(i->Pin.FpLdSt.addr); in ppPPCInstr()
1871 ppHRegPPC(i->Pin.FpSTFIW.data); in ppPPCInstr()
1873 ppHRegPPC(i->Pin.FpSTFIW.addr); in ppPPCInstr()
1878 ppHRegPPC(i->Pin.FpRSP.dst); in ppPPCInstr()
1880 ppHRegPPC(i->Pin.FpRSP.src); in ppPPCInstr()
1891 if (i->Pin.FpCftI.fromI == False && i->Pin.FpCftI.int32 == False) in ppPPCInstr()
1892 if (i->Pin.FpCftI.syned == True) in ppPPCInstr()
1896 else if (i->Pin.FpCftI.fromI == False && i->Pin.FpCftI.int32 == True) in ppPPCInstr()
1897 if (i->Pin.FpCftI.syned == True) in ppPPCInstr()
1901 else if (i->Pin.FpCftI.fromI == True && i->Pin.FpCftI.int32 == False) { in ppPPCInstr()
1902 if (i->Pin.FpCftI.syned == True) { in ppPPCInstr()
1905 if (i->Pin.FpCftI.flt64 == True) in ppPPCInstr()
1912 ppHRegPPC(i->Pin.FpCftI.dst); in ppPPCInstr()
1914 ppHRegPPC(i->Pin.FpCftI.src); in ppPPCInstr()
1918 vex_printf("fpcmov (%s) ", showPPCCondCode(i->Pin.FpCMov.cond)); in ppPPCInstr()
1919 ppHRegPPC(i->Pin.FpCMov.dst); in ppPPCInstr()
1921 ppHRegPPC(i->Pin.FpCMov.src); in ppPPCInstr()
1924 if (i->Pin.FpCMov.cond.test != Pct_ALWAYS) { in ppPPCInstr()
1925 vex_printf("if (%s) { ", showPPCCondCode(i->Pin.FpCMov.cond)); in ppPPCInstr()
1928 ppHRegPPC(i->Pin.FpCMov.dst); in ppPPCInstr()
1930 ppHRegPPC(i->Pin.FpCMov.src); in ppPPCInstr()
1931 if (i->Pin.FpCMov.cond.test != Pct_ALWAYS) in ppPPCInstr()
1937 ppHRegPPC(i->Pin.FpLdFPSCR.src); in ppPPCInstr()
1938 vex_printf(",0, %s", i->Pin.FpLdFPSCR.dfp_rm ? "1" : "0"); in ppPPCInstr()
1942 ppHRegPPC(i->Pin.FpCmp.srcL); in ppPPCInstr()
1944 ppHRegPPC(i->Pin.FpCmp.srcR); in ppPPCInstr()
1946 ppHRegPPC(i->Pin.FpCmp.dst); in ppPPCInstr()
1948 ppHRegPPC(i->Pin.FpCmp.dst); in ppPPCInstr()
1950 ppHRegPPC(i->Pin.FpCmp.dst); in ppPPCInstr()
1955 vex_printf("%s ", i->Pin.RdWrLR.wrLR ? "mtlr" : "mflr"); in ppPPCInstr()
1956 ppHRegPPC(i->Pin.RdWrLR.gpr); in ppPPCInstr()
1960 UChar sz = i->Pin.AvLdSt.sz; in ppPPCInstr()
1962 if (i->Pin.AvLdSt.addr->tag == Pam_IR) { in ppPPCInstr()
1964 i->Pin.AvLdSt.addr->Pam.IR.index, mode64); in ppPPCInstr()
1968 if (i->Pin.AvLdSt.isLoad) in ppPPCInstr()
1972 ppHRegPPC(i->Pin.AvLdSt.reg); in ppPPCInstr()
1974 if (i->Pin.AvLdSt.addr->tag == Pam_IR) in ppPPCInstr()
1977 ppHRegPPC(i->Pin.AvLdSt.addr->Pam.RR.index); in ppPPCInstr()
1979 ppHRegPPC(i->Pin.AvLdSt.addr->Pam.RR.base); in ppPPCInstr()
1983 vex_printf("%s ", showPPCAvOp(i->Pin.AvUnary.op)); in ppPPCInstr()
1984 ppHRegPPC(i->Pin.AvUnary.dst); in ppPPCInstr()
1986 ppHRegPPC(i->Pin.AvUnary.src); in ppPPCInstr()
1989 vex_printf("%s ", showPPCAvOp(i->Pin.AvBinary.op)); in ppPPCInstr()
1990 ppHRegPPC(i->Pin.AvBinary.dst); in ppPPCInstr()
1992 ppHRegPPC(i->Pin.AvBinary.srcL); in ppPPCInstr()
1994 ppHRegPPC(i->Pin.AvBinary.srcR); in ppPPCInstr()
1997 vex_printf("%s ", showPPCAvOp(i->Pin.AvBinaryInt.op)); in ppPPCInstr()
1998 ppHRegPPC(i->Pin.AvBinaryInt.dst); in ppPPCInstr()
2000 ppHRegPPC(i->Pin.AvBinaryInt.src); in ppPPCInstr()
2002 ppPPCRI(i->Pin.AvBinaryInt.val); in ppPPCInstr()
2005 vex_printf("%s(b) ", showPPCAvOp(i->Pin.AvBin8x16.op)); in ppPPCInstr()
2006 ppHRegPPC(i->Pin.AvBin8x16.dst); in ppPPCInstr()
2008 ppHRegPPC(i->Pin.AvBin8x16.srcL); in ppPPCInstr()
2010 ppHRegPPC(i->Pin.AvBin8x16.srcR); in ppPPCInstr()
2013 vex_printf("%s(h) ", showPPCAvOp(i->Pin.AvBin16x8.op)); in ppPPCInstr()
2014 ppHRegPPC(i->Pin.AvBin16x8.dst); in ppPPCInstr()
2016 ppHRegPPC(i->Pin.AvBin16x8.srcL); in ppPPCInstr()
2018 ppHRegPPC(i->Pin.AvBin16x8.srcR); in ppPPCInstr()
2021 vex_printf("%s(w) ", showPPCAvOp(i->Pin.AvBin32x4.op)); in ppPPCInstr()
2022 ppHRegPPC(i->Pin.AvBin32x4.dst); in ppPPCInstr()
2024 ppHRegPPC(i->Pin.AvBin32x4.srcL); in ppPPCInstr()
2026 ppHRegPPC(i->Pin.AvBin32x4.srcR); in ppPPCInstr()
2029 vex_printf("%s(w) ", showPPCAvOp(i->Pin.AvBin64x2.op)); in ppPPCInstr()
2030 ppHRegPPC(i->Pin.AvBin64x2.dst); in ppPPCInstr()
2032 ppHRegPPC(i->Pin.AvBin64x2.srcL); in ppPPCInstr()
2034 ppHRegPPC(i->Pin.AvBin64x2.srcR); in ppPPCInstr()
2037 vex_printf("%s ", showPPCAvFpOp(i->Pin.AvBin32Fx4.op)); in ppPPCInstr()
2038 ppHRegPPC(i->Pin.AvBin32Fx4.dst); in ppPPCInstr()
2040 ppHRegPPC(i->Pin.AvBin32Fx4.srcL); in ppPPCInstr()
2042 ppHRegPPC(i->Pin.AvBin32Fx4.srcR); in ppPPCInstr()
2045 vex_printf("%s ", showPPCAvFpOp(i->Pin.AvUn32Fx4.op)); in ppPPCInstr()
2046 ppHRegPPC(i->Pin.AvUn32Fx4.dst); in ppPPCInstr()
2048 ppHRegPPC(i->Pin.AvUn32Fx4.src); in ppPPCInstr()
2052 ppHRegPPC(i->Pin.AvPerm.dst); in ppPPCInstr()
2054 ppHRegPPC(i->Pin.AvPerm.srcL); in ppPPCInstr()
2056 ppHRegPPC(i->Pin.AvPerm.srcR); in ppPPCInstr()
2058 ppHRegPPC(i->Pin.AvPerm.ctl); in ppPPCInstr()
2063 ppHRegPPC(i->Pin.AvSel.dst); in ppPPCInstr()
2065 ppHRegPPC(i->Pin.AvSel.srcL); in ppPPCInstr()
2067 ppHRegPPC(i->Pin.AvSel.srcR); in ppPPCInstr()
2069 ppHRegPPC(i->Pin.AvSel.ctl); in ppPPCInstr()
2076 if (i->Pin.AvSh.addr->tag == Pam_IR) { in ppPPCInstr()
2078 i->Pin.AvSh.addr->Pam.IR.index, mode64); in ppPPCInstr()
2082 if (i->Pin.AvSh.shLeft) in ppPPCInstr()
2087 ppHRegPPC(i->Pin.AvSh.dst); in ppPPCInstr()
2088 if (i->Pin.AvSh.addr->tag == Pam_IR) in ppPPCInstr()
2091 ppHRegPPC(i->Pin.AvSh.addr->Pam.RR.index); in ppPPCInstr()
2093 ppHRegPPC(i->Pin.AvSh.addr->Pam.RR.base); in ppPPCInstr()
2098 ppHRegPPC(i->Pin.AvShlDbl.dst); in ppPPCInstr()
2100 ppHRegPPC(i->Pin.AvShlDbl.srcL); in ppPPCInstr()
2102 ppHRegPPC(i->Pin.AvShlDbl.srcR); in ppPPCInstr()
2103 vex_printf(",%d", i->Pin.AvShlDbl.shift); in ppPPCInstr()
2107 UChar sz = i->Pin.AvSplat.sz; in ppPPCInstr()
2110 i->Pin.AvSplat.src->tag == Pvi_Imm ? "is" : "", ch_sz); in ppPPCInstr()
2111 ppHRegPPC(i->Pin.AvSplat.dst); in ppPPCInstr()
2113 ppPPCVI5s(i->Pin.AvSplat.src); in ppPPCInstr()
2114 if (i->Pin.AvSplat.src->tag == Pvi_Reg) in ppPPCInstr()
2120 vex_printf("avcmov (%s) ", showPPCCondCode(i->Pin.AvCMov.cond)); in ppPPCInstr()
2121 ppHRegPPC(i->Pin.AvCMov.dst); in ppPPCInstr()
2123 ppHRegPPC(i->Pin.AvCMov.src); in ppPPCInstr()
2126 if (i->Pin.AvCMov.cond.test != Pct_ALWAYS) { in ppPPCInstr()
2127 vex_printf("if (%s) { ", showPPCCondCode(i->Pin.AvCMov.cond)); in ppPPCInstr()
2130 ppHRegPPC(i->Pin.AvCMov.dst); in ppPPCInstr()
2132 ppHRegPPC(i->Pin.AvCMov.src); in ppPPCInstr()
2133 if (i->Pin.FpCMov.cond.test != Pct_ALWAYS) in ppPPCInstr()
2140 ppHRegPPC(i->Pin.AvLdVSCR.src); in ppPPCInstr()
2144 vex_printf("%s(w) ", showPPCAvOp(i->Pin.AvCipherV128Unary.op)); in ppPPCInstr()
2145 ppHRegPPC(i->Pin.AvCipherV128Unary.dst); in ppPPCInstr()
2147 ppHRegPPC(i->Pin.AvCipherV128Unary.src); in ppPPCInstr()
2151 vex_printf("%s(w) ", showPPCAvOp(i->Pin.AvCipherV128Binary.op)); in ppPPCInstr()
2152 ppHRegPPC(i->Pin.AvCipherV128Binary.dst); in ppPPCInstr()
2154 ppHRegPPC(i->Pin.AvCipherV128Binary.srcL); in ppPPCInstr()
2156 ppHRegPPC(i->Pin.AvCipherV128Binary.srcR); in ppPPCInstr()
2160 vex_printf("%s(w) ", showPPCAvOp(i->Pin.AvHashV128Binary.op)); in ppPPCInstr()
2161 ppHRegPPC(i->Pin.AvHashV128Binary.dst); in ppPPCInstr()
2163 ppHRegPPC(i->Pin.AvHashV128Binary.src); in ppPPCInstr()
2165 ppPPCRI(i->Pin.AvHashV128Binary.s_field); in ppPPCInstr()
2169 vex_printf("%s(w) ", showPPCAvOp(i->Pin.AvBCDV128Binary.op)); in ppPPCInstr()
2170 ppHRegPPC(i->Pin.AvBCDV128Binary.dst); in ppPPCInstr()
2172 ppHRegPPC(i->Pin.AvBCDV128Binary.src1); in ppPPCInstr()
2174 ppHRegPPC(i->Pin.AvBCDV128Binary.src2); in ppPPCInstr()
2178 vex_printf("%s ", showPPCFpOp(i->Pin.Dfp64Unary.op)); in ppPPCInstr()
2179 ppHRegPPC(i->Pin.Dfp64Unary.dst); in ppPPCInstr()
2181 ppHRegPPC(i->Pin.Dfp64Unary.src); in ppPPCInstr()
2185 vex_printf("%s ", showPPCFpOp(i->Pin.Dfp64Binary.op)); in ppPPCInstr()
2186 ppHRegPPC(i->Pin.Dfp64Binary.dst); in ppPPCInstr()
2188 ppHRegPPC(i->Pin.Dfp64Binary.srcL); in ppPPCInstr()
2190 ppHRegPPC(i->Pin.Dfp64Binary.srcR); in ppPPCInstr()
2194 vex_printf("%s ", showPPCFpOp(i->Pin.DfpShift.op)); in ppPPCInstr()
2195 ppHRegPPC(i->Pin.DfpShift.dst); in ppPPCInstr()
2197 ppHRegPPC(i->Pin.DfpShift.src); in ppPPCInstr()
2199 ppPPCRI(i->Pin.DfpShift.shift); in ppPPCInstr()
2203 vex_printf("%s ", showPPCFpOp(i->Pin.Dfp128Unary.op)); in ppPPCInstr()
2204 ppHRegPPC(i->Pin.Dfp128Unary.dst_hi); in ppPPCInstr()
2206 ppHRegPPC(i->Pin.Dfp128Unary.src_hi); in ppPPCInstr()
2210 vex_printf("%s ", showPPCFpOp(i->Pin.Dfp128Binary.op)); in ppPPCInstr()
2211 ppHRegPPC(i->Pin.Dfp128Binary.dst_hi); in ppPPCInstr()
2213 ppHRegPPC(i->Pin.Dfp128Binary.srcR_hi); in ppPPCInstr()
2217 vex_printf("%s ", showPPCFpOp(i->Pin.DfpShift128.op)); in ppPPCInstr()
2218 ppHRegPPC(i->Pin.DfpShift128.dst_hi); in ppPPCInstr()
2220 ppHRegPPC(i->Pin.DfpShift128.src_hi); in ppPPCInstr()
2222 ppPPCRI(i->Pin.DfpShift128.shift); in ppPPCInstr()
2227 ppHRegPPC(i->Pin.DfpRound.dst); in ppPPCInstr()
2229 ppHRegPPC(i->Pin.DfpRound.src); in ppPPCInstr()
2231 ppPPCRI(i->Pin.DfpRound.r_rmc); /* R in bit 3 and RMC in bits 2:0 */ in ppPPCInstr()
2236 ppHRegPPC(i->Pin.DfpRound128.dst_hi); in ppPPCInstr()
2238 ppHRegPPC(i->Pin.DfpRound128.src_hi); in ppPPCInstr()
2240 ppPPCRI(i->Pin.DfpRound128.r_rmc); /* R in bit 3 and RMC in bits 2:0 */ in ppPPCInstr()
2244 vex_printf("%s ", showPPCFpOp(i->Pin.DfpQuantize.op)); in ppPPCInstr()
2245 ppHRegPPC(i->Pin.DfpQuantize.dst); in ppPPCInstr()
2247 ppHRegPPC(i->Pin.DfpQuantize.srcL); in ppPPCInstr()
2249 ppHRegPPC(i->Pin.DfpQuantize.srcR); in ppPPCInstr()
2251 ppPPCRI(i->Pin.DfpQuantize.rmc); in ppPPCInstr()
2257 ppHRegPPC(i->Pin.DfpQuantize128.dst_hi); in ppPPCInstr()
2259 ppHRegPPC(i->Pin.DfpQuantize128.dst_hi); in ppPPCInstr()
2261 ppHRegPPC(i->Pin.DfpQuantize128.src_hi); in ppPPCInstr()
2263 ppPPCRI(i->Pin.DfpQuantize128.rmc); in ppPPCInstr()
2267 vex_printf("%s ", showPPCFpOp(i->Pin.DfpD128toD64.op)); in ppPPCInstr()
2268 ppHRegPPC(i->Pin.DfpD128toD64.dst); in ppPPCInstr()
2270 ppHRegPPC(i->Pin.DfpD128toD64.src_hi); in ppPPCInstr()
2275 vex_printf("%s ", showPPCFpOp(i->Pin.DfpI64StoD128.op)); in ppPPCInstr()
2276 ppHRegPPC(i->Pin.DfpI64StoD128.dst_hi); in ppPPCInstr()
2278 ppHRegPPC(i->Pin.DfpI64StoD128.src); in ppPPCInstr()
2283 ppHRegPPC(i->Pin.ExtractExpD128.dst); in ppPPCInstr()
2285 ppHRegPPC(i->Pin.ExtractExpD128.src_hi); in ppPPCInstr()
2289 ppHRegPPC(i->Pin.InsertExpD128.dst_hi); in ppPPCInstr()
2291 ppHRegPPC(i->Pin.InsertExpD128.srcL); in ppPPCInstr()
2293 ppHRegPPC(i->Pin.InsertExpD128.srcR_hi); in ppPPCInstr()
2297 ppHRegPPC(i->Pin.Dfp64Cmp.srcL); in ppPPCInstr()
2299 ppHRegPPC(i->Pin.Dfp64Cmp.srcR); in ppPPCInstr()
2301 ppHRegPPC(i->Pin.Dfp64Cmp.dst); in ppPPCInstr()
2303 ppHRegPPC(i->Pin.Dfp64Cmp.dst); in ppPPCInstr()
2305 ppHRegPPC(i->Pin.Dfp64Cmp.dst); in ppPPCInstr()
2310 ppHRegPPC(i->Pin.Dfp128Cmp.srcL_hi); in ppPPCInstr()
2312 ppHRegPPC(i->Pin.Dfp128Cmp.srcR_hi); in ppPPCInstr()
2314 ppHRegPPC(i->Pin.Dfp128Cmp.dst); in ppPPCInstr()
2316 ppHRegPPC(i->Pin.Dfp128Cmp.dst); in ppPPCInstr()
2318 ppHRegPPC(i->Pin.Dfp128Cmp.dst); in ppPPCInstr()
2325 ppPPCAMode(i->Pin.EvCheck.amCounter); in ppPPCInstr()
2328 ppPPCAMode(i->Pin.EvCheck.amCounter); in ppPPCInstr()
2330 ppPPCAMode(i->Pin.EvCheck.amFailAddr); in ppPPCInstr()
2356 addHRegUse(u, HRmWrite, i->Pin.LI.dst); in getRegUsage_PPCInstr()
2359 addHRegUse(u, HRmRead, i->Pin.Alu.srcL); in getRegUsage_PPCInstr()
2360 addRegUsage_PPCRH(u, i->Pin.Alu.srcR); in getRegUsage_PPCInstr()
2361 addHRegUse(u, HRmWrite, i->Pin.Alu.dst); in getRegUsage_PPCInstr()
2364 addHRegUse(u, HRmRead, i->Pin.Shft.srcL); in getRegUsage_PPCInstr()
2365 addRegUsage_PPCRH(u, i->Pin.Shft.srcR); in getRegUsage_PPCInstr()
2366 addHRegUse(u, HRmWrite, i->Pin.Shft.dst); in getRegUsage_PPCInstr()
2369 addHRegUse(u, HRmWrite, i->Pin.AddSubC.dst); in getRegUsage_PPCInstr()
2370 addHRegUse(u, HRmRead, i->Pin.AddSubC.srcL); in getRegUsage_PPCInstr()
2371 addHRegUse(u, HRmRead, i->Pin.AddSubC.srcR); in getRegUsage_PPCInstr()
2374 addHRegUse(u, HRmRead, i->Pin.Cmp.srcL); in getRegUsage_PPCInstr()
2375 addRegUsage_PPCRH(u, i->Pin.Cmp.srcR); in getRegUsage_PPCInstr()
2378 addHRegUse(u, HRmWrite, i->Pin.Unary.dst); in getRegUsage_PPCInstr()
2379 addHRegUse(u, HRmRead, i->Pin.Unary.src); in getRegUsage_PPCInstr()
2382 addHRegUse(u, HRmWrite, i->Pin.MulL.dst); in getRegUsage_PPCInstr()
2383 addHRegUse(u, HRmRead, i->Pin.MulL.srcL); in getRegUsage_PPCInstr()
2384 addHRegUse(u, HRmRead, i->Pin.MulL.srcR); in getRegUsage_PPCInstr()
2387 addHRegUse(u, HRmWrite, i->Pin.Div.dst); in getRegUsage_PPCInstr()
2388 addHRegUse(u, HRmRead, i->Pin.Div.srcL); in getRegUsage_PPCInstr()
2389 addHRegUse(u, HRmRead, i->Pin.Div.srcR); in getRegUsage_PPCInstr()
2419 argir = i->Pin.Call.argiregs; in getRegUsage_PPCInstr()
2447 addRegUsage_PPCAMode(u, i->Pin.XDirect.amCIA); in getRegUsage_PPCInstr()
2450 addHRegUse(u, HRmRead, i->Pin.XIndir.dstGA); in getRegUsage_PPCInstr()
2451 addRegUsage_PPCAMode(u, i->Pin.XIndir.amCIA); in getRegUsage_PPCInstr()
2454 addHRegUse(u, HRmRead, i->Pin.XAssisted.dstGA); in getRegUsage_PPCInstr()
2455 addRegUsage_PPCAMode(u, i->Pin.XAssisted.amCIA); in getRegUsage_PPCInstr()
2458 addRegUsage_PPCRI(u, i->Pin.CMov.src); in getRegUsage_PPCInstr()
2459 addHRegUse(u, HRmWrite, i->Pin.CMov.dst); in getRegUsage_PPCInstr()
2462 addRegUsage_PPCAMode(u, i->Pin.Load.src); in getRegUsage_PPCInstr()
2463 addHRegUse(u, HRmWrite, i->Pin.Load.dst); in getRegUsage_PPCInstr()
2466 addHRegUse(u, HRmRead, i->Pin.LoadL.src); in getRegUsage_PPCInstr()
2467 addHRegUse(u, HRmWrite, i->Pin.LoadL.dst); in getRegUsage_PPCInstr()
2470 addHRegUse(u, HRmRead, i->Pin.Store.src); in getRegUsage_PPCInstr()
2471 addRegUsage_PPCAMode(u, i->Pin.Store.dst); in getRegUsage_PPCInstr()
2474 addHRegUse(u, HRmRead, i->Pin.StoreC.src); in getRegUsage_PPCInstr()
2475 addHRegUse(u, HRmRead, i->Pin.StoreC.dst); in getRegUsage_PPCInstr()
2478 addHRegUse(u, HRmWrite, i->Pin.Set.dst); in getRegUsage_PPCInstr()
2481 addHRegUse(u, HRmWrite, i->Pin.MfCR.dst); in getRegUsage_PPCInstr()
2487 addHRegUse(u, HRmWrite, i->Pin.FpUnary.dst); in getRegUsage_PPCInstr()
2488 addHRegUse(u, HRmRead, i->Pin.FpUnary.src); in getRegUsage_PPCInstr()
2491 addHRegUse(u, HRmWrite, i->Pin.FpBinary.dst); in getRegUsage_PPCInstr()
2492 addHRegUse(u, HRmRead, i->Pin.FpBinary.srcL); in getRegUsage_PPCInstr()
2493 addHRegUse(u, HRmRead, i->Pin.FpBinary.srcR); in getRegUsage_PPCInstr()
2497 addHRegUse(u, HRmWrite, i->Pin.Fp128Unary.dst); in getRegUsage_PPCInstr()
2498 addHRegUse(u, HRmRead, i->Pin.Fp128Unary.src); in getRegUsage_PPCInstr()
2501 addHRegUse(u, HRmWrite, i->Pin.Fp128Binary.dst); in getRegUsage_PPCInstr()
2502 addHRegUse(u, HRmRead, i->Pin.Fp128Binary.srcL); in getRegUsage_PPCInstr()
2503 addHRegUse(u, HRmRead, i->Pin.Fp128Binary.srcR); in getRegUsage_PPCInstr()
2506 addHRegUse(u, HRmModify, i->Pin.Fp128Trinary.dst); in getRegUsage_PPCInstr()
2507 addHRegUse(u, HRmRead, i->Pin.Fp128Trinary.srcL); in getRegUsage_PPCInstr()
2508 addHRegUse(u, HRmRead, i->Pin.Fp128Trinary.srcR); in getRegUsage_PPCInstr()
2511 addHRegUse(u, HRmWrite, i->Pin.FpMulAcc.dst); in getRegUsage_PPCInstr()
2512 addHRegUse(u, HRmRead, i->Pin.FpMulAcc.srcML); in getRegUsage_PPCInstr()
2513 addHRegUse(u, HRmRead, i->Pin.FpMulAcc.srcMR); in getRegUsage_PPCInstr()
2514 addHRegUse(u, HRmRead, i->Pin.FpMulAcc.srcAcc); in getRegUsage_PPCInstr()
2517 addHRegUse(u, (i->Pin.FpLdSt.isLoad ? HRmWrite : HRmRead), in getRegUsage_PPCInstr()
2518 i->Pin.FpLdSt.reg); in getRegUsage_PPCInstr()
2519 addRegUsage_PPCAMode(u, i->Pin.FpLdSt.addr); in getRegUsage_PPCInstr()
2522 addHRegUse(u, HRmRead, i->Pin.FpSTFIW.addr); in getRegUsage_PPCInstr()
2523 addHRegUse(u, HRmRead, i->Pin.FpSTFIW.data); in getRegUsage_PPCInstr()
2526 addHRegUse(u, HRmWrite, i->Pin.FpRSP.dst); in getRegUsage_PPCInstr()
2527 addHRegUse(u, HRmRead, i->Pin.FpRSP.src); in getRegUsage_PPCInstr()
2530 addHRegUse(u, HRmWrite, i->Pin.FpCftI.dst); in getRegUsage_PPCInstr()
2531 addHRegUse(u, HRmRead, i->Pin.FpCftI.src); in getRegUsage_PPCInstr()
2534 addHRegUse(u, HRmModify, i->Pin.FpCMov.dst); in getRegUsage_PPCInstr()
2535 addHRegUse(u, HRmRead, i->Pin.FpCMov.src); in getRegUsage_PPCInstr()
2538 addHRegUse(u, HRmRead, i->Pin.FpLdFPSCR.src); in getRegUsage_PPCInstr()
2541 addHRegUse(u, HRmWrite, i->Pin.FpCmp.dst); in getRegUsage_PPCInstr()
2542 addHRegUse(u, HRmRead, i->Pin.FpCmp.srcL); in getRegUsage_PPCInstr()
2543 addHRegUse(u, HRmRead, i->Pin.FpCmp.srcR); in getRegUsage_PPCInstr()
2547 addHRegUse(u, (i->Pin.RdWrLR.wrLR ? HRmRead : HRmWrite), in getRegUsage_PPCInstr()
2548 i->Pin.RdWrLR.gpr); in getRegUsage_PPCInstr()
2552 addHRegUse(u, (i->Pin.AvLdSt.isLoad ? HRmWrite : HRmRead), in getRegUsage_PPCInstr()
2553 i->Pin.AvLdSt.reg); in getRegUsage_PPCInstr()
2554 if (i->Pin.AvLdSt.addr->tag == Pam_IR) in getRegUsage_PPCInstr()
2556 addRegUsage_PPCAMode(u, i->Pin.AvLdSt.addr); in getRegUsage_PPCInstr()
2559 addHRegUse(u, HRmWrite, i->Pin.AvUnary.dst); in getRegUsage_PPCInstr()
2560 addHRegUse(u, HRmRead, i->Pin.AvUnary.src); in getRegUsage_PPCInstr()
2563 if (i->Pin.AvBinary.op == Pav_XOR in getRegUsage_PPCInstr()
2564 && sameHReg(i->Pin.AvBinary.dst, i->Pin.AvBinary.srcL) in getRegUsage_PPCInstr()
2565 && sameHReg(i->Pin.AvBinary.dst, i->Pin.AvBinary.srcR)) { in getRegUsage_PPCInstr()
2568 addHRegUse(u, HRmWrite, i->Pin.AvBinary.dst); in getRegUsage_PPCInstr()
2570 addHRegUse(u, HRmWrite, i->Pin.AvBinary.dst); in getRegUsage_PPCInstr()
2571 addHRegUse(u, HRmRead, i->Pin.AvBinary.srcL); in getRegUsage_PPCInstr()
2572 addHRegUse(u, HRmRead, i->Pin.AvBinary.srcR); in getRegUsage_PPCInstr()
2576 addHRegUse(u, HRmWrite, i->Pin.AvBinaryInt.dst); in getRegUsage_PPCInstr()
2577 addHRegUse(u, HRmRead, i->Pin.AvBinaryInt.src); in getRegUsage_PPCInstr()
2580 addHRegUse(u, HRmWrite, i->Pin.AvBin8x16.dst); in getRegUsage_PPCInstr()
2581 addHRegUse(u, HRmRead, i->Pin.AvBin8x16.srcL); in getRegUsage_PPCInstr()
2582 addHRegUse(u, HRmRead, i->Pin.AvBin8x16.srcR); in getRegUsage_PPCInstr()
2585 addHRegUse(u, HRmWrite, i->Pin.AvBin16x8.dst); in getRegUsage_PPCInstr()
2586 addHRegUse(u, HRmRead, i->Pin.AvBin16x8.srcL); in getRegUsage_PPCInstr()
2587 addHRegUse(u, HRmRead, i->Pin.AvBin16x8.srcR); in getRegUsage_PPCInstr()
2590 addHRegUse(u, HRmWrite, i->Pin.AvBin32x4.dst); in getRegUsage_PPCInstr()
2591 addHRegUse(u, HRmRead, i->Pin.AvBin32x4.srcL); in getRegUsage_PPCInstr()
2592 addHRegUse(u, HRmRead, i->Pin.AvBin32x4.srcR); in getRegUsage_PPCInstr()
2595 addHRegUse(u, HRmWrite, i->Pin.AvBin64x2.dst); in getRegUsage_PPCInstr()
2596 addHRegUse(u, HRmRead, i->Pin.AvBin64x2.srcL); in getRegUsage_PPCInstr()
2597 addHRegUse(u, HRmRead, i->Pin.AvBin64x2.srcR); in getRegUsage_PPCInstr()
2600 addHRegUse(u, HRmWrite, i->Pin.AvBin32Fx4.dst); in getRegUsage_PPCInstr()
2601 addHRegUse(u, HRmRead, i->Pin.AvBin32Fx4.srcL); in getRegUsage_PPCInstr()
2602 addHRegUse(u, HRmRead, i->Pin.AvBin32Fx4.srcR); in getRegUsage_PPCInstr()
2603 if (i->Pin.AvBin32Fx4.op == Pavfp_MULF) in getRegUsage_PPCInstr()
2607 addHRegUse(u, HRmWrite, i->Pin.AvUn32Fx4.dst); in getRegUsage_PPCInstr()
2608 addHRegUse(u, HRmRead, i->Pin.AvUn32Fx4.src); in getRegUsage_PPCInstr()
2611 addHRegUse(u, HRmWrite, i->Pin.AvPerm.dst); in getRegUsage_PPCInstr()
2612 addHRegUse(u, HRmRead, i->Pin.AvPerm.srcL); in getRegUsage_PPCInstr()
2613 addHRegUse(u, HRmRead, i->Pin.AvPerm.srcR); in getRegUsage_PPCInstr()
2614 addHRegUse(u, HRmRead, i->Pin.AvPerm.ctl); in getRegUsage_PPCInstr()
2617 addHRegUse(u, HRmWrite, i->Pin.AvSel.dst); in getRegUsage_PPCInstr()
2618 addHRegUse(u, HRmRead, i->Pin.AvSel.ctl); in getRegUsage_PPCInstr()
2619 addHRegUse(u, HRmRead, i->Pin.AvSel.srcL); in getRegUsage_PPCInstr()
2620 addHRegUse(u, HRmRead, i->Pin.AvSel.srcR); in getRegUsage_PPCInstr()
2623 addHRegUse(u, HRmWrite, i->Pin.AvSh.dst); in getRegUsage_PPCInstr()
2624 if (i->Pin.AvSh.addr->tag == Pam_IR) in getRegUsage_PPCInstr()
2626 addRegUsage_PPCAMode(u, i->Pin.AvSh.addr); in getRegUsage_PPCInstr()
2629 addHRegUse(u, HRmWrite, i->Pin.AvShlDbl.dst); in getRegUsage_PPCInstr()
2630 addHRegUse(u, HRmRead, i->Pin.AvShlDbl.srcL); in getRegUsage_PPCInstr()
2631 addHRegUse(u, HRmRead, i->Pin.AvShlDbl.srcR); in getRegUsage_PPCInstr()
2634 addHRegUse(u, HRmWrite, i->Pin.AvSplat.dst); in getRegUsage_PPCInstr()
2635 addRegUsage_PPCVI5s(u, i->Pin.AvSplat.src); in getRegUsage_PPCInstr()
2638 addHRegUse(u, HRmModify, i->Pin.AvCMov.dst); in getRegUsage_PPCInstr()
2639 addHRegUse(u, HRmRead, i->Pin.AvCMov.src); in getRegUsage_PPCInstr()
2642 addHRegUse(u, HRmRead, i->Pin.AvLdVSCR.src); in getRegUsage_PPCInstr()
2645 addHRegUse(u, HRmWrite, i->Pin.AvCipherV128Unary.dst); in getRegUsage_PPCInstr()
2646 addHRegUse(u, HRmRead, i->Pin.AvCipherV128Unary.src); in getRegUsage_PPCInstr()
2649 addHRegUse(u, HRmWrite, i->Pin.AvCipherV128Binary.dst); in getRegUsage_PPCInstr()
2650 addHRegUse(u, HRmRead, i->Pin.AvCipherV128Binary.srcL); in getRegUsage_PPCInstr()
2651 addHRegUse(u, HRmRead, i->Pin.AvCipherV128Binary.srcR); in getRegUsage_PPCInstr()
2654 addHRegUse(u, HRmWrite, i->Pin.AvHashV128Binary.dst); in getRegUsage_PPCInstr()
2655 addHRegUse(u, HRmRead, i->Pin.AvHashV128Binary.src); in getRegUsage_PPCInstr()
2656 addRegUsage_PPCRI(u, i->Pin.AvHashV128Binary.s_field); in getRegUsage_PPCInstr()
2659 addHRegUse(u, HRmWrite, i->Pin.AvBCDV128Binary.dst); in getRegUsage_PPCInstr()
2660 addHRegUse(u, HRmRead, i->Pin.AvBCDV128Binary.src1); in getRegUsage_PPCInstr()
2661 addHRegUse(u, HRmRead, i->Pin.AvBCDV128Binary.src2); in getRegUsage_PPCInstr()
2664 addHRegUse(u, HRmWrite, i->Pin.Dfp64Unary.dst); in getRegUsage_PPCInstr()
2665 addHRegUse(u, HRmRead, i->Pin.Dfp64Unary.src); in getRegUsage_PPCInstr()
2668 addHRegUse(u, HRmWrite, i->Pin.Dfp64Binary.dst); in getRegUsage_PPCInstr()
2669 addHRegUse(u, HRmRead, i->Pin.Dfp64Binary.srcL); in getRegUsage_PPCInstr()
2670 addHRegUse(u, HRmRead, i->Pin.Dfp64Binary.srcR); in getRegUsage_PPCInstr()
2673 addRegUsage_PPCRI(u, i->Pin.DfpShift.shift); in getRegUsage_PPCInstr()
2674 addHRegUse(u, HRmWrite, i->Pin.DfpShift.src); in getRegUsage_PPCInstr()
2675 addHRegUse(u, HRmWrite, i->Pin.DfpShift.dst); in getRegUsage_PPCInstr()
2678 addHRegUse(u, HRmWrite, i->Pin.Dfp128Unary.dst_hi); in getRegUsage_PPCInstr()
2679 addHRegUse(u, HRmWrite, i->Pin.Dfp128Unary.dst_lo); in getRegUsage_PPCInstr()
2680 addHRegUse(u, HRmRead, i->Pin.Dfp128Unary.src_hi); in getRegUsage_PPCInstr()
2681 addHRegUse(u, HRmRead, i->Pin.Dfp128Unary.src_lo); in getRegUsage_PPCInstr()
2684 addHRegUse(u, HRmWrite, i->Pin.Dfp128Binary.dst_hi); in getRegUsage_PPCInstr()
2685 addHRegUse(u, HRmWrite, i->Pin.Dfp128Binary.dst_lo); in getRegUsage_PPCInstr()
2686 addHRegUse(u, HRmRead, i->Pin.Dfp128Binary.srcR_hi); in getRegUsage_PPCInstr()
2687 addHRegUse(u, HRmRead, i->Pin.Dfp128Binary.srcR_lo); in getRegUsage_PPCInstr()
2690 addHRegUse(u, HRmWrite, i->Pin.DfpRound.dst); in getRegUsage_PPCInstr()
2691 addHRegUse(u, HRmRead, i->Pin.DfpRound.src); in getRegUsage_PPCInstr()
2694 addHRegUse(u, HRmWrite, i->Pin.DfpRound128.dst_hi); in getRegUsage_PPCInstr()
2695 addHRegUse(u, HRmWrite, i->Pin.DfpRound128.dst_lo); in getRegUsage_PPCInstr()
2696 addHRegUse(u, HRmRead, i->Pin.DfpRound128.src_hi); in getRegUsage_PPCInstr()
2697 addHRegUse(u, HRmRead, i->Pin.DfpRound128.src_lo); in getRegUsage_PPCInstr()
2700 addRegUsage_PPCRI(u, i->Pin.DfpQuantize.rmc); in getRegUsage_PPCInstr()
2701 addHRegUse(u, HRmWrite, i->Pin.DfpQuantize.dst); in getRegUsage_PPCInstr()
2702 addHRegUse(u, HRmRead, i->Pin.DfpQuantize.srcL); in getRegUsage_PPCInstr()
2703 addHRegUse(u, HRmRead, i->Pin.DfpQuantize.srcR); in getRegUsage_PPCInstr()
2706 addHRegUse(u, HRmWrite, i->Pin.DfpQuantize128.dst_hi); in getRegUsage_PPCInstr()
2707 addHRegUse(u, HRmWrite, i->Pin.DfpQuantize128.dst_lo); in getRegUsage_PPCInstr()
2708 addHRegUse(u, HRmRead, i->Pin.DfpQuantize128.src_hi); in getRegUsage_PPCInstr()
2709 addHRegUse(u, HRmRead, i->Pin.DfpQuantize128.src_lo); in getRegUsage_PPCInstr()
2712 addRegUsage_PPCRI(u, i->Pin.DfpShift128.shift); in getRegUsage_PPCInstr()
2713 addHRegUse(u, HRmWrite, i->Pin.DfpShift128.src_hi); in getRegUsage_PPCInstr()
2714 addHRegUse(u, HRmWrite, i->Pin.DfpShift128.src_lo); in getRegUsage_PPCInstr()
2715 addHRegUse(u, HRmWrite, i->Pin.DfpShift128.dst_hi); in getRegUsage_PPCInstr()
2716 addHRegUse(u, HRmWrite, i->Pin.DfpShift128.dst_lo); in getRegUsage_PPCInstr()
2719 addHRegUse(u, HRmWrite, i->Pin.DfpD128toD64.src_hi); in getRegUsage_PPCInstr()
2720 addHRegUse(u, HRmWrite, i->Pin.DfpD128toD64.src_lo); in getRegUsage_PPCInstr()
2721 addHRegUse(u, HRmWrite, i->Pin.DfpD128toD64.dst); in getRegUsage_PPCInstr()
2724 addHRegUse(u, HRmWrite, i->Pin.DfpI64StoD128.src); in getRegUsage_PPCInstr()
2725 addHRegUse(u, HRmWrite, i->Pin.DfpI64StoD128.dst_hi); in getRegUsage_PPCInstr()
2726 addHRegUse(u, HRmWrite, i->Pin.DfpI64StoD128.dst_lo); in getRegUsage_PPCInstr()
2729 addHRegUse(u, HRmWrite, i->Pin.ExtractExpD128.dst); in getRegUsage_PPCInstr()
2730 addHRegUse(u, HRmRead, i->Pin.ExtractExpD128.src_hi); in getRegUsage_PPCInstr()
2731 addHRegUse(u, HRmRead, i->Pin.ExtractExpD128.src_lo); in getRegUsage_PPCInstr()
2734 addHRegUse(u, HRmWrite, i->Pin.InsertExpD128.dst_hi); in getRegUsage_PPCInstr()
2735 addHRegUse(u, HRmWrite, i->Pin.InsertExpD128.dst_lo); in getRegUsage_PPCInstr()
2736 addHRegUse(u, HRmRead, i->Pin.InsertExpD128.srcL); in getRegUsage_PPCInstr()
2737 addHRegUse(u, HRmRead, i->Pin.InsertExpD128.srcR_hi); in getRegUsage_PPCInstr()
2738 addHRegUse(u, HRmRead, i->Pin.InsertExpD128.srcR_lo); in getRegUsage_PPCInstr()
2741 addHRegUse(u, HRmWrite, i->Pin.Dfp64Cmp.dst); in getRegUsage_PPCInstr()
2742 addHRegUse(u, HRmRead, i->Pin.Dfp64Cmp.srcL); in getRegUsage_PPCInstr()
2743 addHRegUse(u, HRmRead, i->Pin.Dfp64Cmp.srcR); in getRegUsage_PPCInstr()
2746 addHRegUse(u, HRmWrite, i->Pin.Dfp128Cmp.dst); in getRegUsage_PPCInstr()
2747 addHRegUse(u, HRmRead, i->Pin.Dfp128Cmp.srcL_hi); in getRegUsage_PPCInstr()
2748 addHRegUse(u, HRmRead, i->Pin.Dfp128Cmp.srcL_lo); in getRegUsage_PPCInstr()
2749 addHRegUse(u, HRmRead, i->Pin.Dfp128Cmp.srcR_hi); in getRegUsage_PPCInstr()
2750 addHRegUse(u, HRmRead, i->Pin.Dfp128Cmp.srcR_lo); in getRegUsage_PPCInstr()
2756 addRegUsage_PPCAMode(u, i->Pin.EvCheck.amCounter); in getRegUsage_PPCInstr()
2757 addRegUsage_PPCAMode(u, i->Pin.EvCheck.amFailAddr); in getRegUsage_PPCInstr()
2780 mapReg(m, &i->Pin.LI.dst); in mapRegs_PPCInstr()
2783 mapReg(m, &i->Pin.Alu.dst); in mapRegs_PPCInstr()
2784 mapReg(m, &i->Pin.Alu.srcL); in mapRegs_PPCInstr()
2785 mapRegs_PPCRH(m, i->Pin.Alu.srcR); in mapRegs_PPCInstr()
2788 mapReg(m, &i->Pin.Shft.dst); in mapRegs_PPCInstr()
2789 mapReg(m, &i->Pin.Shft.srcL); in mapRegs_PPCInstr()
2790 mapRegs_PPCRH(m, i->Pin.Shft.srcR); in mapRegs_PPCInstr()
2793 mapReg(m, &i->Pin.AddSubC.dst); in mapRegs_PPCInstr()
2794 mapReg(m, &i->Pin.AddSubC.srcL); in mapRegs_PPCInstr()
2795 mapReg(m, &i->Pin.AddSubC.srcR); in mapRegs_PPCInstr()
2798 mapReg(m, &i->Pin.Cmp.srcL); in mapRegs_PPCInstr()
2799 mapRegs_PPCRH(m, i->Pin.Cmp.srcR); in mapRegs_PPCInstr()
2802 mapReg(m, &i->Pin.Unary.dst); in mapRegs_PPCInstr()
2803 mapReg(m, &i->Pin.Unary.src); in mapRegs_PPCInstr()
2806 mapReg(m, &i->Pin.MulL.dst); in mapRegs_PPCInstr()
2807 mapReg(m, &i->Pin.MulL.srcL); in mapRegs_PPCInstr()
2808 mapReg(m, &i->Pin.MulL.srcR); in mapRegs_PPCInstr()
2811 mapReg(m, &i->Pin.Div.dst); in mapRegs_PPCInstr()
2812 mapReg(m, &i->Pin.Div.srcL); in mapRegs_PPCInstr()
2813 mapReg(m, &i->Pin.Div.srcR); in mapRegs_PPCInstr()
2818 mapRegs_PPCAMode(m, i->Pin.XDirect.amCIA); in mapRegs_PPCInstr()
2821 mapReg(m, &i->Pin.XIndir.dstGA); in mapRegs_PPCInstr()
2822 mapRegs_PPCAMode(m, i->Pin.XIndir.amCIA); in mapRegs_PPCInstr()
2825 mapReg(m, &i->Pin.XAssisted.dstGA); in mapRegs_PPCInstr()
2826 mapRegs_PPCAMode(m, i->Pin.XAssisted.amCIA); in mapRegs_PPCInstr()
2829 mapRegs_PPCRI(m, i->Pin.CMov.src); in mapRegs_PPCInstr()
2830 mapReg(m, &i->Pin.CMov.dst); in mapRegs_PPCInstr()
2833 mapRegs_PPCAMode(m, i->Pin.Load.src); in mapRegs_PPCInstr()
2834 mapReg(m, &i->Pin.Load.dst); in mapRegs_PPCInstr()
2837 mapReg(m, &i->Pin.LoadL.src); in mapRegs_PPCInstr()
2838 mapReg(m, &i->Pin.LoadL.dst); in mapRegs_PPCInstr()
2841 mapReg(m, &i->Pin.Store.src); in mapRegs_PPCInstr()
2842 mapRegs_PPCAMode(m, i->Pin.Store.dst); in mapRegs_PPCInstr()
2845 mapReg(m, &i->Pin.StoreC.src); in mapRegs_PPCInstr()
2846 mapReg(m, &i->Pin.StoreC.dst); in mapRegs_PPCInstr()
2849 mapReg(m, &i->Pin.Set.dst); in mapRegs_PPCInstr()
2852 mapReg(m, &i->Pin.MfCR.dst); in mapRegs_PPCInstr()
2857 mapReg(m, &i->Pin.FpUnary.dst); in mapRegs_PPCInstr()
2858 mapReg(m, &i->Pin.FpUnary.src); in mapRegs_PPCInstr()
2861 mapReg(m, &i->Pin.FpBinary.dst); in mapRegs_PPCInstr()
2862 mapReg(m, &i->Pin.FpBinary.srcL); in mapRegs_PPCInstr()
2863 mapReg(m, &i->Pin.FpBinary.srcR); in mapRegs_PPCInstr()
2866 mapReg(m, &i->Pin.Fp128Unary.dst); in mapRegs_PPCInstr()
2867 mapReg(m, &i->Pin.Fp128Unary.src); in mapRegs_PPCInstr()
2870 mapReg(m, &i->Pin.Fp128Binary.dst); in mapRegs_PPCInstr()
2871 mapReg(m, &i->Pin.Fp128Binary.srcL); in mapRegs_PPCInstr()
2872 mapReg(m, &i->Pin.Fp128Binary.srcR); in mapRegs_PPCInstr()
2875 mapReg(m, &i->Pin.Fp128Trinary.dst); in mapRegs_PPCInstr()
2876 mapReg(m, &i->Pin.Fp128Trinary.srcL); in mapRegs_PPCInstr()
2877 mapReg(m, &i->Pin.Fp128Trinary.srcR); in mapRegs_PPCInstr()
2880 mapReg(m, &i->Pin.FpMulAcc.dst); in mapRegs_PPCInstr()
2881 mapReg(m, &i->Pin.FpMulAcc.srcML); in mapRegs_PPCInstr()
2882 mapReg(m, &i->Pin.FpMulAcc.srcMR); in mapRegs_PPCInstr()
2883 mapReg(m, &i->Pin.FpMulAcc.srcAcc); in mapRegs_PPCInstr()
2886 mapReg(m, &i->Pin.FpLdSt.reg); in mapRegs_PPCInstr()
2887 mapRegs_PPCAMode(m, i->Pin.FpLdSt.addr); in mapRegs_PPCInstr()
2890 mapReg(m, &i->Pin.FpSTFIW.addr); in mapRegs_PPCInstr()
2891 mapReg(m, &i->Pin.FpSTFIW.data); in mapRegs_PPCInstr()
2894 mapReg(m, &i->Pin.FpRSP.dst); in mapRegs_PPCInstr()
2895 mapReg(m, &i->Pin.FpRSP.src); in mapRegs_PPCInstr()
2898 mapReg(m, &i->Pin.FpCftI.dst); in mapRegs_PPCInstr()
2899 mapReg(m, &i->Pin.FpCftI.src); in mapRegs_PPCInstr()
2902 mapReg(m, &i->Pin.FpCMov.dst); in mapRegs_PPCInstr()
2903 mapReg(m, &i->Pin.FpCMov.src); in mapRegs_PPCInstr()
2906 mapReg(m, &i->Pin.FpLdFPSCR.src); in mapRegs_PPCInstr()
2909 mapReg(m, &i->Pin.FpCmp.dst); in mapRegs_PPCInstr()
2910 mapReg(m, &i->Pin.FpCmp.srcL); in mapRegs_PPCInstr()
2911 mapReg(m, &i->Pin.FpCmp.srcR); in mapRegs_PPCInstr()
2914 mapReg(m, &i->Pin.RdWrLR.gpr); in mapRegs_PPCInstr()
2917 mapReg(m, &i->Pin.AvLdSt.reg); in mapRegs_PPCInstr()
2918 mapRegs_PPCAMode(m, i->Pin.AvLdSt.addr); in mapRegs_PPCInstr()
2921 mapReg(m, &i->Pin.AvUnary.dst); in mapRegs_PPCInstr()
2922 mapReg(m, &i->Pin.AvUnary.src); in mapRegs_PPCInstr()
2925 mapReg(m, &i->Pin.AvBinary.dst); in mapRegs_PPCInstr()
2926 mapReg(m, &i->Pin.AvBinary.srcL); in mapRegs_PPCInstr()
2927 mapReg(m, &i->Pin.AvBinary.srcR); in mapRegs_PPCInstr()
2930 mapReg(m, &i->Pin.AvBinaryInt.dst); in mapRegs_PPCInstr()
2931 mapReg(m, &i->Pin.AvBinaryInt.src); in mapRegs_PPCInstr()
2934 mapReg(m, &i->Pin.AvBin8x16.dst); in mapRegs_PPCInstr()
2935 mapReg(m, &i->Pin.AvBin8x16.srcL); in mapRegs_PPCInstr()
2936 mapReg(m, &i->Pin.AvBin8x16.srcR); in mapRegs_PPCInstr()
2939 mapReg(m, &i->Pin.AvBin16x8.dst); in mapRegs_PPCInstr()
2940 mapReg(m, &i->Pin.AvBin16x8.srcL); in mapRegs_PPCInstr()
2941 mapReg(m, &i->Pin.AvBin16x8.srcR); in mapRegs_PPCInstr()
2944 mapReg(m, &i->Pin.AvBin32x4.dst); in mapRegs_PPCInstr()
2945 mapReg(m, &i->Pin.AvBin32x4.srcL); in mapRegs_PPCInstr()
2946 mapReg(m, &i->Pin.AvBin32x4.srcR); in mapRegs_PPCInstr()
2949 mapReg(m, &i->Pin.AvBin64x2.dst); in mapRegs_PPCInstr()
2950 mapReg(m, &i->Pin.AvBin64x2.srcL); in mapRegs_PPCInstr()
2951 mapReg(m, &i->Pin.AvBin64x2.srcR); in mapRegs_PPCInstr()
2954 mapReg(m, &i->Pin.AvBin32Fx4.dst); in mapRegs_PPCInstr()
2955 mapReg(m, &i->Pin.AvBin32Fx4.srcL); in mapRegs_PPCInstr()
2956 mapReg(m, &i->Pin.AvBin32Fx4.srcR); in mapRegs_PPCInstr()
2959 mapReg(m, &i->Pin.AvUn32Fx4.dst); in mapRegs_PPCInstr()
2960 mapReg(m, &i->Pin.AvUn32Fx4.src); in mapRegs_PPCInstr()
2963 mapReg(m, &i->Pin.AvPerm.dst); in mapRegs_PPCInstr()
2964 mapReg(m, &i->Pin.AvPerm.srcL); in mapRegs_PPCInstr()
2965 mapReg(m, &i->Pin.AvPerm.srcR); in mapRegs_PPCInstr()
2966 mapReg(m, &i->Pin.AvPerm.ctl); in mapRegs_PPCInstr()
2969 mapReg(m, &i->Pin.AvSel.dst); in mapRegs_PPCInstr()
2970 mapReg(m, &i->Pin.AvSel.srcL); in mapRegs_PPCInstr()
2971 mapReg(m, &i->Pin.AvSel.srcR); in mapRegs_PPCInstr()
2972 mapReg(m, &i->Pin.AvSel.ctl); in mapRegs_PPCInstr()
2975 mapReg(m, &i->Pin.AvSh.dst); in mapRegs_PPCInstr()
2976 mapRegs_PPCAMode(m, i->Pin.AvSh.addr); in mapRegs_PPCInstr()
2979 mapReg(m, &i->Pin.AvShlDbl.dst); in mapRegs_PPCInstr()
2980 mapReg(m, &i->Pin.AvShlDbl.srcL); in mapRegs_PPCInstr()
2981 mapReg(m, &i->Pin.AvShlDbl.srcR); in mapRegs_PPCInstr()
2984 mapReg(m, &i->Pin.AvSplat.dst); in mapRegs_PPCInstr()
2985 mapRegs_PPCVI5s(m, i->Pin.AvSplat.src); in mapRegs_PPCInstr()
2988 mapReg(m, &i->Pin.AvCMov.dst); in mapRegs_PPCInstr()
2989 mapReg(m, &i->Pin.AvCMov.src); in mapRegs_PPCInstr()
2992 mapReg(m, &i->Pin.AvLdVSCR.src); in mapRegs_PPCInstr()
2995 mapReg(m, &i->Pin.AvCipherV128Unary.dst); in mapRegs_PPCInstr()
2996 mapReg(m, &i->Pin.AvCipherV128Unary.src); in mapRegs_PPCInstr()
2999 mapReg(m, &i->Pin.AvCipherV128Binary.dst); in mapRegs_PPCInstr()
3000 mapReg(m, &i->Pin.AvCipherV128Binary.srcL); in mapRegs_PPCInstr()
3001 mapReg(m, &i->Pin.AvCipherV128Binary.srcR); in mapRegs_PPCInstr()
3004 mapRegs_PPCRI(m, i->Pin.AvHashV128Binary.s_field); in mapRegs_PPCInstr()
3005 mapReg(m, &i->Pin.AvHashV128Binary.dst); in mapRegs_PPCInstr()
3006 mapReg(m, &i->Pin.AvHashV128Binary.src); in mapRegs_PPCInstr()
3009 mapReg(m, &i->Pin.AvBCDV128Binary.dst); in mapRegs_PPCInstr()
3010 mapReg(m, &i->Pin.AvBCDV128Binary.src1); in mapRegs_PPCInstr()
3011 mapReg(m, &i->Pin.AvBCDV128Binary.src2); in mapRegs_PPCInstr()
3014 mapReg(m, &i->Pin.Dfp64Unary.dst); in mapRegs_PPCInstr()
3015 mapReg(m, &i->Pin.Dfp64Unary.src); in mapRegs_PPCInstr()
3018 mapReg(m, &i->Pin.Dfp64Binary.dst); in mapRegs_PPCInstr()
3019 mapReg(m, &i->Pin.Dfp64Binary.srcL); in mapRegs_PPCInstr()
3020 mapReg(m, &i->Pin.Dfp64Binary.srcR); in mapRegs_PPCInstr()
3023 mapRegs_PPCRI(m, i->Pin.DfpShift.shift); in mapRegs_PPCInstr()
3024 mapReg(m, &i->Pin.DfpShift.src); in mapRegs_PPCInstr()
3025 mapReg(m, &i->Pin.DfpShift.dst); in mapRegs_PPCInstr()
3028 mapReg(m, &i->Pin.Dfp128Unary.dst_hi); in mapRegs_PPCInstr()
3029 mapReg(m, &i->Pin.Dfp128Unary.dst_lo); in mapRegs_PPCInstr()
3030 mapReg(m, &i->Pin.Dfp128Unary.src_hi); in mapRegs_PPCInstr()
3031 mapReg(m, &i->Pin.Dfp128Unary.src_lo); in mapRegs_PPCInstr()
3034 mapReg(m, &i->Pin.Dfp128Binary.dst_hi); in mapRegs_PPCInstr()
3035 mapReg(m, &i->Pin.Dfp128Binary.dst_lo); in mapRegs_PPCInstr()
3036 mapReg(m, &i->Pin.Dfp128Binary.srcR_hi); in mapRegs_PPCInstr()
3037 mapReg(m, &i->Pin.Dfp128Binary.srcR_lo); in mapRegs_PPCInstr()
3040 mapRegs_PPCRI(m, i->Pin.DfpShift128.shift); in mapRegs_PPCInstr()
3041 mapReg(m, &i->Pin.DfpShift128.src_hi); in mapRegs_PPCInstr()
3042 mapReg(m, &i->Pin.DfpShift128.src_lo); in mapRegs_PPCInstr()
3043 mapReg(m, &i->Pin.DfpShift128.dst_hi); in mapRegs_PPCInstr()
3044 mapReg(m, &i->Pin.DfpShift128.dst_lo); in mapRegs_PPCInstr()
3047 mapReg(m, &i->Pin.DfpRound.dst); in mapRegs_PPCInstr()
3048 mapReg(m, &i->Pin.DfpRound.src); in mapRegs_PPCInstr()
3051 mapReg(m, &i->Pin.DfpRound128.dst_hi); in mapRegs_PPCInstr()
3052 mapReg(m, &i->Pin.DfpRound128.dst_lo); in mapRegs_PPCInstr()
3053 mapReg(m, &i->Pin.DfpRound128.src_hi); in mapRegs_PPCInstr()
3054 mapReg(m, &i->Pin.DfpRound128.src_lo); in mapRegs_PPCInstr()
3057 mapRegs_PPCRI(m, i->Pin.DfpQuantize.rmc); in mapRegs_PPCInstr()
3058 mapReg(m, &i->Pin.DfpQuantize.dst); in mapRegs_PPCInstr()
3059 mapReg(m, &i->Pin.DfpQuantize.srcL); in mapRegs_PPCInstr()
3060 mapReg(m, &i->Pin.DfpQuantize.srcR); in mapRegs_PPCInstr()
3063 mapRegs_PPCRI(m, i->Pin.DfpQuantize128.rmc); in mapRegs_PPCInstr()
3064 mapReg(m, &i->Pin.DfpQuantize128.dst_hi); in mapRegs_PPCInstr()
3065 mapReg(m, &i->Pin.DfpQuantize128.dst_lo); in mapRegs_PPCInstr()
3066 mapReg(m, &i->Pin.DfpQuantize128.src_hi); in mapRegs_PPCInstr()
3067 mapReg(m, &i->Pin.DfpQuantize128.src_lo); in mapRegs_PPCInstr()
3070 mapReg(m, &i->Pin.DfpD128toD64.src_hi); in mapRegs_PPCInstr()
3071 mapReg(m, &i->Pin.DfpD128toD64.src_lo); in mapRegs_PPCInstr()
3072 mapReg(m, &i->Pin.DfpD128toD64.dst); in mapRegs_PPCInstr()
3075 mapReg(m, &i->Pin.DfpI64StoD128.src); in mapRegs_PPCInstr()
3076 mapReg(m, &i->Pin.DfpI64StoD128.dst_hi); in mapRegs_PPCInstr()
3077 mapReg(m, &i->Pin.DfpI64StoD128.dst_lo); in mapRegs_PPCInstr()
3080 mapReg(m, &i->Pin.ExtractExpD128.dst); in mapRegs_PPCInstr()
3081 mapReg(m, &i->Pin.ExtractExpD128.src_hi); in mapRegs_PPCInstr()
3082 mapReg(m, &i->Pin.ExtractExpD128.src_lo); in mapRegs_PPCInstr()
3085 mapReg(m, &i->Pin.InsertExpD128.dst_hi); in mapRegs_PPCInstr()
3086 mapReg(m, &i->Pin.InsertExpD128.dst_lo); in mapRegs_PPCInstr()
3087 mapReg(m, &i->Pin.InsertExpD128.srcL); in mapRegs_PPCInstr()
3088 mapReg(m, &i->Pin.InsertExpD128.srcR_hi); in mapRegs_PPCInstr()
3089 mapReg(m, &i->Pin.InsertExpD128.srcR_lo); in mapRegs_PPCInstr()
3092 mapReg(m, &i->Pin.Dfp64Cmp.dst); in mapRegs_PPCInstr()
3093 mapReg(m, &i->Pin.Dfp64Cmp.srcL); in mapRegs_PPCInstr()
3094 mapReg(m, &i->Pin.Dfp64Cmp.srcR); in mapRegs_PPCInstr()
3097 mapReg(m, &i->Pin.Dfp128Cmp.dst); in mapRegs_PPCInstr()
3098 mapReg(m, &i->Pin.Dfp128Cmp.srcL_hi); in mapRegs_PPCInstr()
3099 mapReg(m, &i->Pin.Dfp128Cmp.srcL_lo); in mapRegs_PPCInstr()
3100 mapReg(m, &i->Pin.Dfp128Cmp.srcR_hi); in mapRegs_PPCInstr()
3101 mapReg(m, &i->Pin.Dfp128Cmp.srcR_lo); in mapRegs_PPCInstr()
3107 mapRegs_PPCAMode(m, i->Pin.EvCheck.amCounter); in mapRegs_PPCInstr()
3108 mapRegs_PPCAMode(m, i->Pin.EvCheck.amFailAddr); in mapRegs_PPCInstr()
3128 if (i->Pin.Alu.op != Palu_OR) in isMove_PPCInstr()
3130 if (i->Pin.Alu.srcR->tag != Prh_Reg) in isMove_PPCInstr()
3132 if (! sameHReg(i->Pin.Alu.srcR->Prh.Reg.reg, i->Pin.Alu.srcL)) in isMove_PPCInstr()
3134 *src = i->Pin.Alu.srcL; in isMove_PPCInstr()
3135 *dst = i->Pin.Alu.dst; in isMove_PPCInstr()
3140 if (i->Pin.FpUnary.op != Pfp_MOV) in isMove_PPCInstr()
3142 *src = i->Pin.FpUnary.src; in isMove_PPCInstr()
3143 *dst = i->Pin.FpUnary.dst; in isMove_PPCInstr()
3999 p = mkLoadImm(p, iregEnc(i->Pin.LI.dst, mode64), in emit_PPCInstr()
4000 i->Pin.LI.imm64, mode64, endness_host); in emit_PPCInstr()
4004 PPCRH* srcR = i->Pin.Alu.srcR; in emit_PPCInstr()
4006 UInt r_dst = iregEnc(i->Pin.Alu.dst, mode64); in emit_PPCInstr()
4007 UInt r_srcL = iregEnc(i->Pin.Alu.srcL, mode64); in emit_PPCInstr()
4011 switch (i->Pin.Alu.op) { in emit_PPCInstr()
4077 PPCRH* srcR = i->Pin.Shft.srcR; in emit_PPCInstr()
4078 Bool sz32 = i->Pin.Shft.sz32; in emit_PPCInstr()
4080 UInt r_dst = iregEnc(i->Pin.Shft.dst, mode64); in emit_PPCInstr()
4081 UInt r_srcL = iregEnc(i->Pin.Shft.srcL, mode64); in emit_PPCInstr()
4087 switch (i->Pin.Shft.op) { in emit_PPCInstr()
4191 Bool isAdd = i->Pin.AddSubC.isAdd; in emit_PPCInstr()
4192 Bool setC = i->Pin.AddSubC.setC; in emit_PPCInstr()
4193 UInt r_srcL = iregEnc(i->Pin.AddSubC.srcL, mode64); in emit_PPCInstr()
4194 UInt r_srcR = iregEnc(i->Pin.AddSubC.srcR, mode64); in emit_PPCInstr()
4195 UInt r_dst = iregEnc(i->Pin.AddSubC.dst, mode64); in emit_PPCInstr()
4213 Bool syned = i->Pin.Cmp.syned; in emit_PPCInstr()
4214 Bool sz32 = i->Pin.Cmp.sz32; in emit_PPCInstr()
4215 UInt fld1 = i->Pin.Cmp.crfD << 2; in emit_PPCInstr()
4216 UInt r_srcL = iregEnc(i->Pin.Cmp.srcL, mode64); in emit_PPCInstr()
4218 PPCRH* srcR = i->Pin.Cmp.srcR; in emit_PPCInstr()
4250 UInt r_dst = iregEnc(i->Pin.Unary.dst, mode64); in emit_PPCInstr()
4251 UInt r_src = iregEnc(i->Pin.Unary.src, mode64); in emit_PPCInstr()
4253 switch (i->Pin.Unary.op) { in emit_PPCInstr()
4286 Bool syned = i->Pin.MulL.syned; in emit_PPCInstr()
4287 Bool sz32 = i->Pin.MulL.sz32; in emit_PPCInstr()
4288 UInt r_dst = iregEnc(i->Pin.MulL.dst, mode64); in emit_PPCInstr()
4289 UInt r_srcL = iregEnc(i->Pin.MulL.srcL, mode64); in emit_PPCInstr()
4290 UInt r_srcR = iregEnc(i->Pin.MulL.srcR, mode64); in emit_PPCInstr()
4295 if (i->Pin.MulL.hi) { in emit_PPCInstr()
4313 vassert(!i->Pin.MulL.syned); in emit_PPCInstr()
4323 Bool syned = i->Pin.Div.syned; in emit_PPCInstr()
4324 Bool sz32 = i->Pin.Div.sz32; in emit_PPCInstr()
4325 UInt r_dst = iregEnc(i->Pin.Div.dst, mode64); in emit_PPCInstr()
4326 UInt r_srcL = iregEnc(i->Pin.Div.srcL, mode64); in emit_PPCInstr()
4327 UInt r_srcR = iregEnc(i->Pin.Div.srcR, mode64); in emit_PPCInstr()
4332 if (i->Pin.Div.extended) { in emit_PPCInstr()
4367 if (i->Pin.Call.cond.test != Pct_ALWAYS in emit_PPCInstr()
4368 && i->Pin.Call.rloc.pri != RLPri_None) { in emit_PPCInstr()
4377 PPCCondCode cond = i->Pin.Call.cond; in emit_PPCInstr()
4393 p = mkLoadImm(p, r_dst, i->Pin.Call.target, mode64, endness_host); in emit_PPCInstr()
4425 if (i->Pin.XDirect.cond.test != Pct_ALWAYS) { in emit_PPCInstr()
4426 vassert(i->Pin.XDirect.cond.flag != Pcf_NONE); in emit_PPCInstr()
4430 vassert(i->Pin.XDirect.cond.flag == Pcf_NONE); in emit_PPCInstr()
4435 if (!mode64) vassert(0 == (((ULong)i->Pin.XDirect.dstGA) >> 32)); in emit_PPCInstr()
4436 p = mkLoadImm(p, /*r*/30, (ULong)i->Pin.XDirect.dstGA, mode64, in emit_PPCInstr()
4441 /*r*/30, i->Pin.XDirect.amCIA, mode64, endness_host in emit_PPCInstr()
4451 = i->Pin.XDirect.toFastEP ? disp_cp_chain_me_to_fastEP in emit_PPCInstr()
4462 if (i->Pin.XDirect.cond.test != Pct_ALWAYS) { in emit_PPCInstr()
4466 mkFormB(ptmp, invertCondTest(i->Pin.XDirect.cond.test), in emit_PPCInstr()
4467 i->Pin.XDirect.cond.flag, (delta>>2), 0, 0, endness_host); in emit_PPCInstr()
4485 if (i->Pin.XIndir.cond.test != Pct_ALWAYS) { in emit_PPCInstr()
4486 vassert(i->Pin.XIndir.cond.flag != Pcf_NONE); in emit_PPCInstr()
4490 vassert(i->Pin.XIndir.cond.flag == Pcf_NONE); in emit_PPCInstr()
4497 iregEnc(i->Pin.XIndir.dstGA, mode64), in emit_PPCInstr()
4498 i->Pin.XIndir.amCIA, mode64, endness_host in emit_PPCInstr()
4510 if (i->Pin.XIndir.cond.test != Pct_ALWAYS) { in emit_PPCInstr()
4514 mkFormB(ptmp, invertCondTest(i->Pin.XIndir.cond.test), in emit_PPCInstr()
4515 i->Pin.XIndir.cond.flag, (delta>>2), 0, 0, endness_host); in emit_PPCInstr()
4525 if (i->Pin.XAssisted.cond.test != Pct_ALWAYS) { in emit_PPCInstr()
4526 vassert(i->Pin.XAssisted.cond.flag != Pcf_NONE); in emit_PPCInstr()
4530 vassert(i->Pin.XAssisted.cond.flag == Pcf_NONE); in emit_PPCInstr()
4537 iregEnc(i->Pin.XIndir.dstGA, mode64), in emit_PPCInstr()
4538 i->Pin.XIndir.amCIA, mode64, endness_host in emit_PPCInstr()
4543 switch (i->Pin.XAssisted.jk) { in emit_PPCInstr()
4563 ppIRJumpKind(i->Pin.XAssisted.jk); in emit_PPCInstr()
4579 if (i->Pin.XAssisted.cond.test != Pct_ALWAYS) { in emit_PPCInstr()
4583 mkFormB(ptmp, invertCondTest(i->Pin.XAssisted.cond.test), in emit_PPCInstr()
4584 i->Pin.XAssisted.cond.flag, (delta>>2), 0, 0, endness_host); in emit_PPCInstr()
4593 vassert(i->Pin.CMov.cond.test != Pct_ALWAYS); in emit_PPCInstr()
4595 r_dst = iregEnc(i->Pin.CMov.dst, mode64); in emit_PPCInstr()
4596 cond = i->Pin.CMov.cond; in emit_PPCInstr()
4608 switch (i->Pin.CMov.src->tag) { in emit_PPCInstr()
4610 imm_src = i->Pin.CMov.src->Pri.Imm; in emit_PPCInstr()
4614 r_src = iregEnc(i->Pin.CMov.src->Pri.Reg, mode64); in emit_PPCInstr()
4632 PPCAMode* am_addr = i->Pin.Load.src; in emit_PPCInstr()
4633 UInt r_dst = iregEnc(i->Pin.Load.dst, mode64); in emit_PPCInstr()
4634 UInt opc1, opc2, sz = i->Pin.Load.sz; in emit_PPCInstr()
4666 if (i->Pin.LoadL.sz == 1) { in emit_PPCInstr()
4667 p = mkFormX(p, 31, iregEnc(i->Pin.LoadL.dst, mode64), in emit_PPCInstr()
4668 0, iregEnc(i->Pin.LoadL.src, mode64), 52, 0, endness_host); in emit_PPCInstr()
4671 if (i->Pin.LoadL.sz == 2) { in emit_PPCInstr()
4672 p = mkFormX(p, 31, iregEnc(i->Pin.LoadL.dst, mode64), in emit_PPCInstr()
4673 0, iregEnc(i->Pin.LoadL.src, mode64), 116, 0, endness_host); in emit_PPCInstr()
4676 if (i->Pin.LoadL.sz == 4) { in emit_PPCInstr()
4677 p = mkFormX(p, 31, iregEnc(i->Pin.LoadL.dst, mode64), in emit_PPCInstr()
4678 0, iregEnc(i->Pin.LoadL.src, mode64), 20, 0, endness_host); in emit_PPCInstr()
4681 if (i->Pin.LoadL.sz == 8 && mode64) { in emit_PPCInstr()
4682 p = mkFormX(p, 31, iregEnc(i->Pin.LoadL.dst, mode64), in emit_PPCInstr()
4683 0, iregEnc(i->Pin.LoadL.src, mode64), 84, 0, endness_host); in emit_PPCInstr()
4692 UInt r_dst = iregEnc(i->Pin.Set.dst, mode64); in emit_PPCInstr()
4693 PPCCondCode cond = i->Pin.Set.cond; in emit_PPCInstr()
4721 p = mkFormX(p, 31, iregEnc(i->Pin.MfCR.dst, mode64), 0, 0, 19, 0, in emit_PPCInstr()
4733 PPCAMode* am_addr = i->Pin.Store.dst; in emit_PPCInstr()
4734 UInt r_src = iregEnc(i->Pin.Store.src, mode64); in emit_PPCInstr()
4735 UInt opc1, opc2, sz = i->Pin.Store.sz; in emit_PPCInstr()
4736 switch (i->Pin.Store.dst->tag) { in emit_PPCInstr()
4772 if (i->Pin.StoreC.sz == 1) { in emit_PPCInstr()
4773 p = mkFormX(p, 31, iregEnc(i->Pin.StoreC.src, mode64), in emit_PPCInstr()
4774 0, iregEnc(i->Pin.StoreC.dst, mode64), 694, 1, endness_host); in emit_PPCInstr()
4777 if (i->Pin.StoreC.sz == 2) { in emit_PPCInstr()
4778 p = mkFormX(p, 31, iregEnc(i->Pin.StoreC.src, mode64), in emit_PPCInstr()
4779 0, iregEnc(i->Pin.StoreC.dst, mode64), 726, 1, endness_host); in emit_PPCInstr()
4783 if (i->Pin.StoreC.sz == 4) { in emit_PPCInstr()
4784 p = mkFormX(p, 31, iregEnc(i->Pin.StoreC.src, mode64), in emit_PPCInstr()
4785 0, iregEnc(i->Pin.StoreC.dst, mode64), 150, 1, endness_host); in emit_PPCInstr()
4788 if (i->Pin.StoreC.sz == 8 && mode64) { in emit_PPCInstr()
4789 p = mkFormX(p, 31, iregEnc(i->Pin.StoreC.src, mode64), in emit_PPCInstr()
4790 0, iregEnc(i->Pin.StoreC.dst, mode64), 214, 1, endness_host); in emit_PPCInstr()
4797 UInt fr_dst = fregEnc(i->Pin.FpUnary.dst); in emit_PPCInstr()
4798 UInt fr_src = fregEnc(i->Pin.FpUnary.src); in emit_PPCInstr()
4799 switch (i->Pin.FpUnary.op) { in emit_PPCInstr()
4837 UInt fr_dst = fregEnc(i->Pin.FpBinary.dst); in emit_PPCInstr()
4838 UInt fr_srcL = fregEnc(i->Pin.FpBinary.srcL); in emit_PPCInstr()
4839 UInt fr_srcR = fregEnc(i->Pin.FpBinary.srcR); in emit_PPCInstr()
4840 switch (i->Pin.FpBinary.op) { in emit_PPCInstr()
4880 UInt fr_dst = vregEnc(i->Pin.Fp128Unary.dst); in emit_PPCInstr()
4881 UInt fr_src = vregEnc(i->Pin.Fp128Unary.src); in emit_PPCInstr()
4883 switch (i->Pin.Fp128Unary.op) { in emit_PPCInstr()
4925 UInt fr_dst = vregEnc(i->Pin.Fp128Binary.dst); in emit_PPCInstr()
4926 UInt fr_srcL = vregEnc(i->Pin.Fp128Binary.srcL); in emit_PPCInstr()
4927 UInt fr_srcR = vregEnc(i->Pin.Fp128Binary.srcR); in emit_PPCInstr()
4940 switch (i->Pin.Fp128Binary.op) { in emit_PPCInstr()
4997 UInt fr_dst = vregEnc(i->Pin.Fp128Binary.dst); in emit_PPCInstr()
4998 UInt fr_srcL = vregEnc(i->Pin.Fp128Binary.srcL); in emit_PPCInstr()
4999 UInt fr_srcR = vregEnc(i->Pin.Fp128Binary.srcR); in emit_PPCInstr()
5012 switch (i->Pin.Fp128Binary.op) { in emit_PPCInstr()
5044 UInt fr_dst = fregEnc(i->Pin.FpMulAcc.dst); in emit_PPCInstr()
5045 UInt fr_srcML = fregEnc(i->Pin.FpMulAcc.srcML); in emit_PPCInstr()
5046 UInt fr_srcMR = fregEnc(i->Pin.FpMulAcc.srcMR); in emit_PPCInstr()
5047 UInt fr_srcAcc = fregEnc(i->Pin.FpMulAcc.srcAcc); in emit_PPCInstr()
5048 switch (i->Pin.FpMulAcc.op) { in emit_PPCInstr()
5072 PPCAMode* am_addr = i->Pin.FpLdSt.addr; in emit_PPCInstr()
5073 UInt f_reg = fregEnc(i->Pin.FpLdSt.reg); in emit_PPCInstr()
5074 Bool idxd = toBool(i->Pin.FpLdSt.addr->tag == Pam_RR); in emit_PPCInstr()
5075 UChar sz = i->Pin.FpLdSt.sz; in emit_PPCInstr()
5079 if (i->Pin.FpLdSt.isLoad) { // Load from memory in emit_PPCInstr()
5100 UInt ir_addr = iregEnc(i->Pin.FpSTFIW.addr, mode64); in emit_PPCInstr()
5101 UInt fr_data = fregEnc(i->Pin.FpSTFIW.data); in emit_PPCInstr()
5109 UInt fr_dst = fregEnc(i->Pin.FpRSP.dst); in emit_PPCInstr()
5110 UInt fr_src = fregEnc(i->Pin.FpRSP.src); in emit_PPCInstr()
5117 UInt fr_dst = fregEnc(i->Pin.FpCftI.dst); in emit_PPCInstr()
5118 UInt fr_src = fregEnc(i->Pin.FpCftI.src); in emit_PPCInstr()
5119 if (i->Pin.FpCftI.fromI == False && i->Pin.FpCftI.int32 == True) { in emit_PPCInstr()
5120 if (i->Pin.FpCftI.syned == True) { in emit_PPCInstr()
5130 if (i->Pin.FpCftI.fromI == False && i->Pin.FpCftI.int32 == False) { in emit_PPCInstr()
5131 if (i->Pin.FpCftI.syned == True) { in emit_PPCInstr()
5141 if (i->Pin.FpCftI.fromI == True && i->Pin.FpCftI.int32 == False) { in emit_PPCInstr()
5142 if (i->Pin.FpCftI.syned == True) { in emit_PPCInstr()
5146 } else if (i->Pin.FpCftI.flt64 == True) { in emit_PPCInstr()
5160 UInt fr_dst = fregEnc(i->Pin.FpCMov.dst); in emit_PPCInstr()
5161 UInt fr_src = fregEnc(i->Pin.FpCMov.src); in emit_PPCInstr()
5162 PPCCondCode cc = i->Pin.FpCMov.cond; in emit_PPCInstr()
5181 UInt fr_src = fregEnc(i->Pin.FpLdFPSCR.src); in emit_PPCInstr()
5182 p = mkFormXFL(p, 0xFF, fr_src, i->Pin.FpLdFPSCR.dfp_rm, endness_host); // mtfsf, PPC32 p480 in emit_PPCInstr()
5188 UInt r_dst = iregEnc(i->Pin.FpCmp.dst, mode64); in emit_PPCInstr()
5189 UInt fr_srcL = fregEnc(i->Pin.FpCmp.srcL); in emit_PPCInstr()
5190 UInt fr_srcR = fregEnc(i->Pin.FpCmp.srcR); in emit_PPCInstr()
5205 UInt reg = iregEnc(i->Pin.RdWrLR.gpr, mode64); in emit_PPCInstr()
5207 p = mkFormXFX(p, reg, 8, (i->Pin.RdWrLR.wrLR==True) ? 467 : 339, in emit_PPCInstr()
5216 UChar sz = i->Pin.AvLdSt.sz; in emit_PPCInstr()
5217 Bool idxd = toBool(i->Pin.AvLdSt.addr->tag == Pam_RR); in emit_PPCInstr()
5220 v_reg = vregEnc(i->Pin.AvLdSt.reg); in emit_PPCInstr()
5221 r_base = iregEnc(i->Pin.AvLdSt.addr->Pam.RR.base, mode64); in emit_PPCInstr()
5227 i->Pin.AvLdSt.addr->Pam.IR.index, mode64, endness_host); in emit_PPCInstr()
5229 r_idx = iregEnc(i->Pin.AvLdSt.addr->Pam.RR.index, mode64); in emit_PPCInstr()
5232 if (i->Pin.FpLdSt.isLoad) { // Load from memory (1,2,4,16) in emit_PPCInstr()
5243 UInt v_dst = vregEnc(i->Pin.AvUnary.dst); in emit_PPCInstr()
5244 UInt v_src = vregEnc(i->Pin.AvUnary.src); in emit_PPCInstr()
5247 switch (i->Pin.AvUnary.op) { in emit_PPCInstr()
5277 switch (i->Pin.AvUnary.op) { in emit_PPCInstr()
5339 UInt v_dst = vregEnc(i->Pin.AvBinary.dst); in emit_PPCInstr()
5340 UInt v_srcL = vregEnc(i->Pin.AvBinary.srcL); in emit_PPCInstr()
5341 UInt v_srcR = vregEnc(i->Pin.AvBinary.srcR); in emit_PPCInstr()
5343 if (i->Pin.AvBinary.op == Pav_SHL) { in emit_PPCInstr()
5348 if (i->Pin.AvBinary.op == Pav_SHR) { in emit_PPCInstr()
5353 switch (i->Pin.AvBinary.op) { in emit_PPCInstr()
5369 UInt ps = i->Pin.AvBinaryInt.val->Pri.Imm; in emit_PPCInstr()
5370 UInt dst = vregEnc(i->Pin.AvBinaryInt.dst); in emit_PPCInstr()
5371 UInt src = vregEnc(i->Pin.AvBinaryInt.src); in emit_PPCInstr()
5373 switch (i->Pin.AvBinaryInt.op) { in emit_PPCInstr()
5424 UInt v_dst = vregEnc(i->Pin.AvBin8x16.dst); in emit_PPCInstr()
5425 UInt v_srcL = vregEnc(i->Pin.AvBin8x16.srcL); in emit_PPCInstr()
5426 UInt v_srcR = vregEnc(i->Pin.AvBin8x16.srcR); in emit_PPCInstr()
5428 switch (i->Pin.AvBin8x16.op) { in emit_PPCInstr()
5472 UInt v_dst = vregEnc(i->Pin.AvBin16x8.dst); in emit_PPCInstr()
5473 UInt v_srcL = vregEnc(i->Pin.AvBin16x8.srcL); in emit_PPCInstr()
5474 UInt v_srcR = vregEnc(i->Pin.AvBin16x8.srcR); in emit_PPCInstr()
5476 switch (i->Pin.AvBin16x8.op) { in emit_PPCInstr()
5526 UInt v_dst = vregEnc(i->Pin.AvBin32x4.dst); in emit_PPCInstr()
5527 UInt v_srcL = vregEnc(i->Pin.AvBin32x4.srcL); in emit_PPCInstr()
5528 UInt v_srcR = vregEnc(i->Pin.AvBin32x4.srcR); in emit_PPCInstr()
5530 switch (i->Pin.AvBin32x4.op) { in emit_PPCInstr()
5585 UInt v_dst = vregEnc(i->Pin.AvBin64x2.dst); in emit_PPCInstr()
5586 UInt v_srcL = vregEnc(i->Pin.AvBin64x2.srcL); in emit_PPCInstr()
5587 UInt v_srcR = vregEnc(i->Pin.AvBin64x2.srcR); in emit_PPCInstr()
5589 switch (i->Pin.AvBin64x2.op) { in emit_PPCInstr()
5616 UInt v_dst = vregEnc(i->Pin.AvCipherV128Unary.dst); in emit_PPCInstr()
5617 UInt v_src = vregEnc(i->Pin.AvCipherV128Unary.src); in emit_PPCInstr()
5619 switch (i->Pin.AvCipherV128Unary.op) { in emit_PPCInstr()
5628 UInt v_dst = vregEnc(i->Pin.AvCipherV128Binary.dst); in emit_PPCInstr()
5629 UInt v_srcL = vregEnc(i->Pin.AvCipherV128Binary.srcL); in emit_PPCInstr()
5630 UInt v_srcR = vregEnc(i->Pin.AvCipherV128Binary.srcR); in emit_PPCInstr()
5632 switch (i->Pin.AvCipherV128Binary.op) { in emit_PPCInstr()
5644 UInt v_dst = vregEnc(i->Pin.AvHashV128Binary.dst); in emit_PPCInstr()
5645 UInt v_src = vregEnc(i->Pin.AvHashV128Binary.src); in emit_PPCInstr()
5646 PPCRI* s_field = i->Pin.AvHashV128Binary.s_field; in emit_PPCInstr()
5648 switch (i->Pin.AvHashV128Binary.op) { in emit_PPCInstr()
5658 UInt v_dst = vregEnc(i->Pin.AvBCDV128Binary.dst); in emit_PPCInstr()
5659 UInt v_src1 = vregEnc(i->Pin.AvBCDV128Binary.src1); in emit_PPCInstr()
5660 UInt v_src2 = vregEnc(i->Pin.AvBCDV128Binary.src2); in emit_PPCInstr()
5665 switch (i->Pin.AvBCDV128Binary.op) { in emit_PPCInstr()
5676 UInt v_dst = vregEnc(i->Pin.AvBin32Fx4.dst); in emit_PPCInstr()
5677 UInt v_srcL = vregEnc(i->Pin.AvBin32Fx4.srcL); in emit_PPCInstr()
5678 UInt v_srcR = vregEnc(i->Pin.AvBin32Fx4.srcR); in emit_PPCInstr()
5679 switch (i->Pin.AvBin32Fx4.op) { in emit_PPCInstr()
5732 UInt v_dst = vregEnc(i->Pin.AvUn32Fx4.dst); in emit_PPCInstr()
5733 UInt v_src = vregEnc(i->Pin.AvUn32Fx4.src); in emit_PPCInstr()
5735 switch (i->Pin.AvUn32Fx4.op) { in emit_PPCInstr()
5754 UInt v_dst = vregEnc(i->Pin.AvPerm.dst); in emit_PPCInstr()
5755 UInt v_srcL = vregEnc(i->Pin.AvPerm.srcL); in emit_PPCInstr()
5756 UInt v_srcR = vregEnc(i->Pin.AvPerm.srcR); in emit_PPCInstr()
5757 UInt v_ctl = vregEnc(i->Pin.AvPerm.ctl); in emit_PPCInstr()
5763 UInt v_ctl = vregEnc(i->Pin.AvSel.ctl); in emit_PPCInstr()
5764 UInt v_dst = vregEnc(i->Pin.AvSel.dst); in emit_PPCInstr()
5765 UInt v_srcL = vregEnc(i->Pin.AvSel.srcL); in emit_PPCInstr()
5766 UInt v_srcR = vregEnc(i->Pin.AvSel.srcR); in emit_PPCInstr()
5772 UInt v_dst = vregEnc(i->Pin.AvSh.dst); in emit_PPCInstr()
5773 Bool idxd = toBool(i->Pin.AvSh.addr->tag == Pam_RR); in emit_PPCInstr()
5776 r_base = iregEnc(i->Pin.AvSh.addr->Pam.RR.base, mode64); in emit_PPCInstr()
5781 i->Pin.AvSh.addr->Pam.IR.index, mode64, endness_host); in emit_PPCInstr()
5783 r_idx = iregEnc(i->Pin.AvSh.addr->Pam.RR.index, mode64); in emit_PPCInstr()
5786 if (i->Pin.AvSh.shLeft) in emit_PPCInstr()
5796 UInt shift = i->Pin.AvShlDbl.shift; in emit_PPCInstr()
5797 UInt v_dst = vregEnc(i->Pin.AvShlDbl.dst); in emit_PPCInstr()
5798 UInt v_srcL = vregEnc(i->Pin.AvShlDbl.srcL); in emit_PPCInstr()
5799 UInt v_srcR = vregEnc(i->Pin.AvShlDbl.srcR); in emit_PPCInstr()
5806 UInt v_dst = vregEnc(i->Pin.AvShlDbl.dst); in emit_PPCInstr()
5807 UChar sz = i->Pin.AvSplat.sz; in emit_PPCInstr()
5811 if (i->Pin.AvSplat.src->tag == Pvi_Imm) { in emit_PPCInstr()
5815 simm5 = i->Pin.AvSplat.src->Pvi.Imm5s; in emit_PPCInstr()
5823 vassert(hregClass(i->Pin.AvSplat.src->Pvi.Reg) == HRcVec128); in emit_PPCInstr()
5824 v_src = vregEnc(i->Pin.AvSplat.src->Pvi.Reg); in emit_PPCInstr()
5832 UInt v_dst = vregEnc(i->Pin.AvCMov.dst); in emit_PPCInstr()
5833 UInt v_src = vregEnc(i->Pin.AvCMov.src); in emit_PPCInstr()
5834 PPCCondCode cc = i->Pin.AvCMov.cond; in emit_PPCInstr()
5852 UInt v_src = vregEnc(i->Pin.AvLdVSCR.src); in emit_PPCInstr()
5858 UInt fr_dst = fregEnc( i->Pin.FpUnary.dst ); in emit_PPCInstr()
5859 UInt fr_src = fregEnc( i->Pin.FpUnary.src ); in emit_PPCInstr()
5861 switch (i->Pin.Dfp64Unary.op) { in emit_PPCInstr()
5888 UInt fr_dst = fregEnc( i->Pin.Dfp64Binary.dst ); in emit_PPCInstr()
5889 UInt fr_srcL = fregEnc( i->Pin.Dfp64Binary.srcL ); in emit_PPCInstr()
5890 UInt fr_srcR = fregEnc( i->Pin.Dfp64Binary.srcR ); in emit_PPCInstr()
5891 switch (i->Pin.Dfp64Binary.op) { in emit_PPCInstr()
5918 UInt fr_src = fregEnc(i->Pin.DfpShift.src); in emit_PPCInstr()
5919 UInt fr_dst = fregEnc(i->Pin.DfpShift.dst); in emit_PPCInstr()
5922 shift = i->Pin.DfpShift.shift->Pri.Imm; in emit_PPCInstr()
5924 switch (i->Pin.DfpShift.op) { in emit_PPCInstr()
5939 UInt fr_dst = fregEnc(i->Pin.ExtractExpD128.dst); in emit_PPCInstr()
5940 UInt fr_srcHi = fregEnc(i->Pin.ExtractExpD128.src_hi); in emit_PPCInstr()
5941 UInt fr_srcLo = fregEnc(i->Pin.ExtractExpD128.src_lo); in emit_PPCInstr()
5943 switch (i->Pin.ExtractExpD128.op) { in emit_PPCInstr()
5964 UInt fr_dstHi = fregEnc(i->Pin.Dfp128Unary.dst_hi); in emit_PPCInstr()
5965 UInt fr_dstLo = fregEnc(i->Pin.Dfp128Unary.dst_lo); in emit_PPCInstr()
5966 UInt fr_srcLo = fregEnc(i->Pin.Dfp128Unary.src_lo); in emit_PPCInstr()
5971 switch (i->Pin.Dfp128Unary.op) { in emit_PPCInstr()
5996 UInt fr_dstHi = fregEnc( i->Pin.Dfp128Binary.dst_hi ); in emit_PPCInstr()
5997 UInt fr_dstLo = fregEnc( i->Pin.Dfp128Binary.dst_lo ); in emit_PPCInstr()
5998 UInt fr_srcRHi = fregEnc( i->Pin.Dfp128Binary.srcR_hi ); in emit_PPCInstr()
5999 UInt fr_srcRLo = fregEnc( i->Pin.Dfp128Binary.srcR_lo ); in emit_PPCInstr()
6012 switch (i->Pin.Dfp128Binary.op) { in emit_PPCInstr()
6039 UInt fr_src_hi = fregEnc(i->Pin.DfpShift128.src_hi); in emit_PPCInstr()
6040 UInt fr_src_lo = fregEnc(i->Pin.DfpShift128.src_lo); in emit_PPCInstr()
6041 UInt fr_dst_hi = fregEnc(i->Pin.DfpShift128.dst_hi); in emit_PPCInstr()
6042 UInt fr_dst_lo = fregEnc(i->Pin.DfpShift128.dst_lo); in emit_PPCInstr()
6045 shift = i->Pin.DfpShift128.shift->Pri.Imm; in emit_PPCInstr()
6052 switch (i->Pin.DfpShift128.op) { in emit_PPCInstr()
6065 (Int)i->Pin.DfpShift128.op); in emit_PPCInstr()
6079 UInt fr_dst = fregEnc(i->Pin.DfpRound.dst); in emit_PPCInstr()
6080 UInt fr_src = fregEnc(i->Pin.DfpRound.src); in emit_PPCInstr()
6083 r_rmc = i->Pin.DfpRound.r_rmc->Pri.Imm; in emit_PPCInstr()
6093 UInt fr_dstHi = fregEnc(i->Pin.DfpRound128.dst_hi); in emit_PPCInstr()
6094 UInt fr_dstLo = fregEnc(i->Pin.DfpRound128.dst_lo); in emit_PPCInstr()
6095 UInt fr_srcHi = fregEnc(i->Pin.DfpRound128.src_hi); in emit_PPCInstr()
6096 UInt fr_srcLo = fregEnc(i->Pin.DfpRound128.src_lo); in emit_PPCInstr()
6099 r_rmc = i->Pin.DfpRound128.r_rmc->Pri.Imm; in emit_PPCInstr()
6124 UInt fr_dst = fregEnc(i->Pin.DfpQuantize.dst); in emit_PPCInstr()
6125 UInt fr_srcL = fregEnc(i->Pin.DfpQuantize.srcL); in emit_PPCInstr()
6126 UInt fr_srcR = fregEnc(i->Pin.DfpQuantize.srcR); in emit_PPCInstr()
6129 rmc = i->Pin.DfpQuantize.rmc->Pri.Imm; in emit_PPCInstr()
6131 switch (i->Pin.DfpQuantize.op) { in emit_PPCInstr()
6145 UInt fr_dst_hi = fregEnc(i->Pin.DfpQuantize128.dst_hi); in emit_PPCInstr()
6146 UInt fr_dst_lo = fregEnc(i->Pin.DfpQuantize128.dst_lo); in emit_PPCInstr()
6147 UInt fr_src_hi = fregEnc(i->Pin.DfpQuantize128.src_hi); in emit_PPCInstr()
6148 UInt fr_src_lo = fregEnc(i->Pin.DfpQuantize128.src_lo); in emit_PPCInstr()
6151 rmc = i->Pin.DfpQuantize128.rmc->Pri.Imm; in emit_PPCInstr()
6164 switch (i->Pin.DfpQuantize128.op) { in emit_PPCInstr()
6186 UInt fr_dst = fregEnc( i->Pin.DfpD128toD64.dst ); in emit_PPCInstr()
6187 UInt fr_srcHi = fregEnc( i->Pin.DfpD128toD64.src_hi ); in emit_PPCInstr()
6188 UInt fr_srcLo = fregEnc( i->Pin.DfpD128toD64.src_lo ); in emit_PPCInstr()
6198 switch (i->Pin.Dfp128Binary.op) { in emit_PPCInstr()
6215 UInt fr_dstHi = fregEnc( i->Pin.DfpI64StoD128.dst_hi ); in emit_PPCInstr()
6216 UInt fr_dstLo = fregEnc( i->Pin.DfpI64StoD128.dst_lo ); in emit_PPCInstr()
6217 UInt fr_src = fregEnc( i->Pin.DfpI64StoD128.src ); in emit_PPCInstr()
6219 switch (i->Pin.Dfp128Binary.op) { in emit_PPCInstr()
6234 UInt fr_dstHi = fregEnc(i->Pin.InsertExpD128.dst_hi); in emit_PPCInstr()
6235 UInt fr_dstLo = fregEnc(i->Pin.InsertExpD128.dst_lo); in emit_PPCInstr()
6236 UInt fr_srcL = fregEnc(i->Pin.InsertExpD128.srcL); in emit_PPCInstr()
6237 UInt fr_srcRHi = fregEnc(i->Pin.InsertExpD128.srcR_hi); in emit_PPCInstr()
6238 UInt fr_srcRLo = fregEnc(i->Pin.InsertExpD128.srcR_lo); in emit_PPCInstr()
6259 UInt r_dst = iregEnc(i->Pin.Dfp64Cmp.dst, mode64); in emit_PPCInstr()
6260 UInt fr_srcL = fregEnc(i->Pin.Dfp64Cmp.srcL); in emit_PPCInstr()
6261 UInt fr_srcR = fregEnc(i->Pin.Dfp64Cmp.srcR); in emit_PPCInstr()
6277 UInt r_dst = iregEnc(i->Pin.Dfp128Cmp.dst, mode64); in emit_PPCInstr()
6278 UInt fr_srcL_hi = fregEnc(i->Pin.Dfp128Cmp.srcL_hi); in emit_PPCInstr()
6279 UInt fr_srcL_lo = fregEnc(i->Pin.Dfp128Cmp.srcL_lo); in emit_PPCInstr()
6280 UInt fr_srcR_hi = fregEnc(i->Pin.Dfp128Cmp.srcR_hi); in emit_PPCInstr()
6281 UInt fr_srcR_lo = fregEnc(i->Pin.Dfp128Cmp.srcR_lo); in emit_PPCInstr()
6319 i->Pin.EvCheck.amCounter, mode64, in emit_PPCInstr()
6325 i->Pin.EvCheck.amCounter, mode64, in emit_PPCInstr()
6331 i->Pin.EvCheck.amFailAddr, mode64, in emit_PPCInstr()