• Home
  • Raw
  • Download

Lines Matching refs:mode64

95 HReg hregPPC_GPR0  ( Bool mode64 ) { return MkHRegGPR( 0, mode64); }  in hregPPC_GPR0()  argument
96 HReg hregPPC_GPR1 ( Bool mode64 ) { return MkHRegGPR( 1, mode64); } in hregPPC_GPR1() argument
97 HReg hregPPC_GPR2 ( Bool mode64 ) { return MkHRegGPR( 2, mode64); } in hregPPC_GPR2() argument
98 HReg hregPPC_GPR3 ( Bool mode64 ) { return MkHRegGPR( 3, mode64); } in hregPPC_GPR3() argument
99 HReg hregPPC_GPR4 ( Bool mode64 ) { return MkHRegGPR( 4, mode64); } in hregPPC_GPR4() argument
100 HReg hregPPC_GPR5 ( Bool mode64 ) { return MkHRegGPR( 5, mode64); } in hregPPC_GPR5() argument
101 HReg hregPPC_GPR6 ( Bool mode64 ) { return MkHRegGPR( 6, mode64); } in hregPPC_GPR6() argument
102 HReg hregPPC_GPR7 ( Bool mode64 ) { return MkHRegGPR( 7, mode64); } in hregPPC_GPR7() argument
103 HReg hregPPC_GPR8 ( Bool mode64 ) { return MkHRegGPR( 8, mode64); } in hregPPC_GPR8() argument
104 HReg hregPPC_GPR9 ( Bool mode64 ) { return MkHRegGPR( 9, mode64); } in hregPPC_GPR9() argument
105 HReg hregPPC_GPR10 ( Bool mode64 ) { return MkHRegGPR(10, mode64); } in hregPPC_GPR10() argument
106 HReg hregPPC_GPR11 ( Bool mode64 ) { return MkHRegGPR(11, mode64); } in hregPPC_GPR11() argument
107 HReg hregPPC_GPR12 ( Bool mode64 ) { return MkHRegGPR(12, mode64); } in hregPPC_GPR12() argument
108 HReg hregPPC_GPR13 ( Bool mode64 ) { return MkHRegGPR(13, mode64); } in hregPPC_GPR13() argument
109 HReg hregPPC_GPR14 ( Bool mode64 ) { return MkHRegGPR(14, mode64); } in hregPPC_GPR14() argument
110 HReg hregPPC_GPR15 ( Bool mode64 ) { return MkHRegGPR(15, mode64); } in hregPPC_GPR15() argument
111 HReg hregPPC_GPR16 ( Bool mode64 ) { return MkHRegGPR(16, mode64); } in hregPPC_GPR16() argument
112 HReg hregPPC_GPR17 ( Bool mode64 ) { return MkHRegGPR(17, mode64); } in hregPPC_GPR17() argument
113 HReg hregPPC_GPR18 ( Bool mode64 ) { return MkHRegGPR(18, mode64); } in hregPPC_GPR18() argument
114 HReg hregPPC_GPR19 ( Bool mode64 ) { return MkHRegGPR(19, mode64); } in hregPPC_GPR19() argument
115 HReg hregPPC_GPR20 ( Bool mode64 ) { return MkHRegGPR(20, mode64); } in hregPPC_GPR20() argument
116 HReg hregPPC_GPR21 ( Bool mode64 ) { return MkHRegGPR(21, mode64); } in hregPPC_GPR21() argument
117 HReg hregPPC_GPR22 ( Bool mode64 ) { return MkHRegGPR(22, mode64); } in hregPPC_GPR22() argument
118 HReg hregPPC_GPR23 ( Bool mode64 ) { return MkHRegGPR(23, mode64); } in hregPPC_GPR23() argument
119 HReg hregPPC_GPR24 ( Bool mode64 ) { return MkHRegGPR(24, mode64); } in hregPPC_GPR24() argument
120 HReg hregPPC_GPR25 ( Bool mode64 ) { return MkHRegGPR(25, mode64); } in hregPPC_GPR25() argument
121 HReg hregPPC_GPR26 ( Bool mode64 ) { return MkHRegGPR(26, mode64); } in hregPPC_GPR26() argument
122 HReg hregPPC_GPR27 ( Bool mode64 ) { return MkHRegGPR(27, mode64); } in hregPPC_GPR27() argument
123 HReg hregPPC_GPR28 ( Bool mode64 ) { return MkHRegGPR(28, mode64); } in hregPPC_GPR28() argument
124 HReg hregPPC_GPR29 ( Bool mode64 ) { return MkHRegGPR(29, mode64); } in hregPPC_GPR29() argument
125 HReg hregPPC_GPR30 ( Bool mode64 ) { return MkHRegGPR(30, mode64); } in hregPPC_GPR30() argument
126 HReg hregPPC_GPR31 ( Bool mode64 ) { return MkHRegGPR(31, mode64); } in hregPPC_GPR31() argument
196 void getAllocableRegs_PPC ( Int* nregs, HReg** arr, Bool mode64 ) in getAllocableRegs_PPC() argument
199 if (mode64) in getAllocableRegs_PPC()
207 (*arr)[i++] = hregPPC_GPR3(mode64); in getAllocableRegs_PPC()
208 (*arr)[i++] = hregPPC_GPR4(mode64); in getAllocableRegs_PPC()
209 (*arr)[i++] = hregPPC_GPR5(mode64); in getAllocableRegs_PPC()
210 (*arr)[i++] = hregPPC_GPR6(mode64); in getAllocableRegs_PPC()
211 (*arr)[i++] = hregPPC_GPR7(mode64); in getAllocableRegs_PPC()
212 (*arr)[i++] = hregPPC_GPR8(mode64); in getAllocableRegs_PPC()
213 (*arr)[i++] = hregPPC_GPR9(mode64); in getAllocableRegs_PPC()
214 (*arr)[i++] = hregPPC_GPR10(mode64); in getAllocableRegs_PPC()
215 if (!mode64) { in getAllocableRegs_PPC()
219 (*arr)[i++] = hregPPC_GPR11(mode64); in getAllocableRegs_PPC()
220 (*arr)[i++] = hregPPC_GPR12(mode64); in getAllocableRegs_PPC()
224 (*arr)[i++] = hregPPC_GPR14(mode64); in getAllocableRegs_PPC()
225 (*arr)[i++] = hregPPC_GPR15(mode64); in getAllocableRegs_PPC()
226 (*arr)[i++] = hregPPC_GPR16(mode64); in getAllocableRegs_PPC()
227 (*arr)[i++] = hregPPC_GPR17(mode64); in getAllocableRegs_PPC()
228 (*arr)[i++] = hregPPC_GPR18(mode64); in getAllocableRegs_PPC()
229 (*arr)[i++] = hregPPC_GPR19(mode64); in getAllocableRegs_PPC()
230 (*arr)[i++] = hregPPC_GPR20(mode64); in getAllocableRegs_PPC()
231 (*arr)[i++] = hregPPC_GPR21(mode64); in getAllocableRegs_PPC()
232 (*arr)[i++] = hregPPC_GPR22(mode64); in getAllocableRegs_PPC()
233 (*arr)[i++] = hregPPC_GPR23(mode64); in getAllocableRegs_PPC()
234 (*arr)[i++] = hregPPC_GPR24(mode64); in getAllocableRegs_PPC()
235 (*arr)[i++] = hregPPC_GPR25(mode64); in getAllocableRegs_PPC()
236 (*arr)[i++] = hregPPC_GPR26(mode64); in getAllocableRegs_PPC()
237 (*arr)[i++] = hregPPC_GPR27(mode64); in getAllocableRegs_PPC()
238 (*arr)[i++] = hregPPC_GPR28(mode64); in getAllocableRegs_PPC()
732 PPCInstr* PPCInstr_LI ( HReg dst, ULong imm64, Bool mode64 ) in PPCInstr_LI() argument
738 if (!mode64) in PPCInstr_LI()
853 HReg dst, PPCAMode* src, Bool mode64 ) { in PPCInstr_Load() argument
860 if (sz == 8) vassert(mode64); in PPCInstr_Load()
864 HReg dst, HReg src, Bool mode64 ) in PPCInstr_LoadL() argument
872 if (sz == 8) vassert(mode64); in PPCInstr_LoadL()
876 Bool mode64 ) { in PPCInstr_Store() argument
883 if (sz == 8) vassert(mode64); in PPCInstr_Store()
886 PPCInstr* PPCInstr_StoreC ( UChar sz, HReg dst, HReg src, Bool mode64 ) { in PPCInstr_StoreC() argument
893 if (sz == 8) vassert(mode64); in PPCInstr_StoreC()
1198 static void ppLoadImm ( HReg dst, ULong imm, Bool mode64 ) { in ppLoadImm() argument
1201 if (!mode64) { in ppLoadImm()
1217 void ppPPCInstr ( PPCInstr* i, Bool mode64 ) in ppPPCInstr() argument
1221 ppLoadImm(i->Pin.LI.dst, i->Pin.LI.imm64, mode64); in ppPPCInstr()
1324 ppLoadImm(hregPPC_GPR10(mode64), i->Pin.Call.target, mode64); in ppPPCInstr()
1350 ppLoadImm(hregPPC_GPR3(mode64), i->Pin.Goto.dst->Pri.Imm, in ppPPCInstr()
1351 mode64); in ppPPCInstr()
1353 ppMovReg(hregPPC_GPR3(mode64), i->Pin.Goto.dst->Pri.Reg); in ppPPCInstr()
1368 ppLoadImm(i->Pin.CMov.dst, i->Pin.CMov.src->Pri.Imm, mode64); in ppPPCInstr()
1574 ppLoadImm(hregPPC_GPR30(mode64), in ppPPCInstr()
1575 i->Pin.AvLdSt.addr->Pam.RR.index, mode64); in ppPPCInstr()
1722 void getRegUsage_PPCInstr ( HRegUsage* u, PPCInstr* i, Bool mode64 ) in getRegUsage_PPCInstr() argument
1775 addHRegUse(u, HRmWrite, hregPPC_GPR3(mode64)); in getRegUsage_PPCInstr()
1776 addHRegUse(u, HRmWrite, hregPPC_GPR4(mode64)); in getRegUsage_PPCInstr()
1777 addHRegUse(u, HRmWrite, hregPPC_GPR5(mode64)); in getRegUsage_PPCInstr()
1778 addHRegUse(u, HRmWrite, hregPPC_GPR6(mode64)); in getRegUsage_PPCInstr()
1779 addHRegUse(u, HRmWrite, hregPPC_GPR7(mode64)); in getRegUsage_PPCInstr()
1780 addHRegUse(u, HRmWrite, hregPPC_GPR8(mode64)); in getRegUsage_PPCInstr()
1781 addHRegUse(u, HRmWrite, hregPPC_GPR9(mode64)); in getRegUsage_PPCInstr()
1782 addHRegUse(u, HRmWrite, hregPPC_GPR10(mode64)); in getRegUsage_PPCInstr()
1783 if (!mode64) { in getRegUsage_PPCInstr()
1784 addHRegUse(u, HRmWrite, hregPPC_GPR11(mode64)); in getRegUsage_PPCInstr()
1785 addHRegUse(u, HRmWrite, hregPPC_GPR12(mode64)); in getRegUsage_PPCInstr()
1791 if (argir &(1<<10)) addHRegUse(u, HRmRead, hregPPC_GPR10(mode64)); in getRegUsage_PPCInstr()
1792 if (argir & (1<<9)) addHRegUse(u, HRmRead, hregPPC_GPR9(mode64)); in getRegUsage_PPCInstr()
1793 if (argir & (1<<8)) addHRegUse(u, HRmRead, hregPPC_GPR8(mode64)); in getRegUsage_PPCInstr()
1794 if (argir & (1<<7)) addHRegUse(u, HRmRead, hregPPC_GPR7(mode64)); in getRegUsage_PPCInstr()
1795 if (argir & (1<<6)) addHRegUse(u, HRmRead, hregPPC_GPR6(mode64)); in getRegUsage_PPCInstr()
1796 if (argir & (1<<5)) addHRegUse(u, HRmRead, hregPPC_GPR5(mode64)); in getRegUsage_PPCInstr()
1797 if (argir & (1<<4)) addHRegUse(u, HRmRead, hregPPC_GPR4(mode64)); in getRegUsage_PPCInstr()
1798 if (argir & (1<<3)) addHRegUse(u, HRmRead, hregPPC_GPR3(mode64)); in getRegUsage_PPCInstr()
1807 addHRegUse(u, HRmWrite, hregPPC_GPR10(mode64)); in getRegUsage_PPCInstr()
1815 addHRegUse(u, HRmWrite, hregPPC_GPR3(mode64)); in getRegUsage_PPCInstr()
1822 addHRegUse(u, HRmWrite, GuestStatePtr(mode64)); in getRegUsage_PPCInstr()
1907 addHRegUse(u, HRmWrite, hregPPC_GPR30(mode64)); in getRegUsage_PPCInstr()
1983 ppPPCInstr(i, mode64); in getRegUsage_PPCInstr()
1994 void mapRegs_PPCInstr ( HRegRemap* m, PPCInstr* i, Bool mode64 ) in mapRegs_PPCInstr() argument
2179 ppPPCInstr(i, mode64); in mapRegs_PPCInstr()
2220 HReg rreg, Int offsetB, Bool mode64 ) in genSpill_PPC() argument
2225 am = PPCAMode_IR( offsetB, GuestStatePtr(mode64) ); in genSpill_PPC()
2228 vassert(mode64); in genSpill_PPC()
2229 *i1 = PPCInstr_Store( 8, am, rreg, mode64 ); in genSpill_PPC()
2232 vassert(!mode64); in genSpill_PPC()
2233 *i1 = PPCInstr_Store( 4, am, rreg, mode64 ); in genSpill_PPC()
2250 HReg rreg, Int offsetB, Bool mode64 ) in genReload_PPC() argument
2255 am = PPCAMode_IR( offsetB, GuestStatePtr(mode64) ); in genReload_PPC()
2258 vassert(mode64); in genReload_PPC()
2259 *i1 = PPCInstr_Load( 8, rreg, am, mode64 ); in genReload_PPC()
2262 vassert(!mode64); in genReload_PPC()
2263 *i1 = PPCInstr_Load( 4, rreg, am, mode64 ); in genReload_PPC()
2281 static UInt iregNo ( HReg r, Bool mode64 ) in iregNo() argument
2284 vassert(hregClass(r) == mode64 ? HRcInt64 : HRcInt32); in iregNo()
2513 PPCAMode* am, Bool mode64 ) in doAMode_IR() argument
2519 rA = iregNo(am->Pam.IR.base, mode64); in doAMode_IR()
2523 vassert(mode64); in doAMode_IR()
2533 UInt rSD, PPCAMode* am, Bool mode64 ) in doAMode_RR() argument
2538 rA = iregNo(am->Pam.RR.base, mode64); in doAMode_RR()
2539 rB = iregNo(am->Pam.RR.index, mode64); in doAMode_RR()
2547 static UChar* mkLoadImm ( UChar* p, UInt r_dst, ULong imm, Bool mode64 ) in mkLoadImm() argument
2551 if (!mode64) { in mkLoadImm()
2576 vassert(mode64); in mkLoadImm()
2671 Bool mode64, in emit_PPCInstr() argument
2679 vex_printf("asm ");ppPPCInstr(i, mode64); vex_printf("\n"); in emit_PPCInstr()
2685 p = mkLoadImm(p, iregNo(i->Pin.LI.dst, mode64), in emit_PPCInstr()
2686 i->Pin.LI.imm64, mode64); in emit_PPCInstr()
2692 UInt r_dst = iregNo(i->Pin.Alu.dst, mode64); in emit_PPCInstr()
2693 UInt r_srcL = iregNo(i->Pin.Alu.srcL, mode64); in emit_PPCInstr()
2695 iregNo(srcR->Prh.Reg.reg, mode64); in emit_PPCInstr()
2765 UInt r_dst = iregNo(i->Pin.Shft.dst, mode64); in emit_PPCInstr()
2766 UInt r_srcL = iregNo(i->Pin.Shft.srcL, mode64); in emit_PPCInstr()
2768 iregNo(srcR->Prh.Reg.reg, mode64); in emit_PPCInstr()
2769 if (!mode64) in emit_PPCInstr()
2846 if (mode64) in emit_PPCInstr()
2878 UInt r_srcL = iregNo(i->Pin.AddSubC.srcL, mode64); in emit_PPCInstr()
2879 UInt r_srcR = iregNo(i->Pin.AddSubC.srcR, mode64); in emit_PPCInstr()
2880 UInt r_dst = iregNo(i->Pin.AddSubC.dst, mode64); in emit_PPCInstr()
2901 UInt r_srcL = iregNo(i->Pin.Cmp.srcL, mode64); in emit_PPCInstr()
2905 if (!mode64) // cmp double word invalid for mode32 in emit_PPCInstr()
2922 r_srcR = iregNo(srcR->Prh.Reg.reg, mode64); in emit_PPCInstr()
2935 UInt r_dst = iregNo(i->Pin.Unary.dst, mode64); in emit_PPCInstr()
2936 UInt r_src = iregNo(i->Pin.Unary.src, mode64); in emit_PPCInstr()
2949 vassert(mode64); in emit_PPCInstr()
2953 vassert(mode64); in emit_PPCInstr()
2964 UInt r_dst = iregNo(i->Pin.MulL.dst, mode64); in emit_PPCInstr()
2965 UInt r_srcL = iregNo(i->Pin.MulL.srcL, mode64); in emit_PPCInstr()
2966 UInt r_srcR = iregNo(i->Pin.MulL.srcR, mode64); in emit_PPCInstr()
2968 if (!mode64) in emit_PPCInstr()
2998 UInt r_dst = iregNo(i->Pin.Div.dst, mode64); in emit_PPCInstr()
2999 UInt r_srcL = iregNo(i->Pin.Div.srcL, mode64); in emit_PPCInstr()
3000 UInt r_srcR = iregNo(i->Pin.Div.srcR, mode64); in emit_PPCInstr()
3002 if (!mode64) in emit_PPCInstr()
3051 p = mkLoadImm(p, r_dst, i->Pin.Call.target, mode64); in emit_PPCInstr()
3123 p = mkLoadImm(p, r_ret, imm_dst, mode64); // p += 4|8|20 in emit_PPCInstr()
3126 r_dst = iregNo(i->Pin.Goto.dst->Pri.Reg, mode64); in emit_PPCInstr()
3150 r_dst = iregNo(i->Pin.CMov.dst, mode64); in emit_PPCInstr()
3165 p = mkLoadImm(p, r_dst, imm_src, mode64); // p += 4|8|20 in emit_PPCInstr()
3168 r_src = iregNo(i->Pin.CMov.src->Pri.Reg, mode64); in emit_PPCInstr()
3187 UInt r_dst = iregNo(i->Pin.Load.dst, mode64); in emit_PPCInstr()
3191 if (mode64 && (sz == 4 || sz == 8)) { in emit_PPCInstr()
3199 case 8: opc1 = 58; vassert(mode64); break; in emit_PPCInstr()
3202 p = doAMode_IR(p, opc1, r_dst, am_addr, mode64); in emit_PPCInstr()
3209 case 8: opc2 = 21; vassert(mode64); break; in emit_PPCInstr()
3212 p = doAMode_RR(p, 31, opc2, r_dst, am_addr, mode64); in emit_PPCInstr()
3221 p = mkFormX(p, 31, iregNo(i->Pin.LoadL.dst, mode64), in emit_PPCInstr()
3222 0, iregNo(i->Pin.LoadL.src, mode64), 20, 0); in emit_PPCInstr()
3225 if (i->Pin.LoadL.sz == 8 && mode64) { in emit_PPCInstr()
3226 p = mkFormX(p, 31, iregNo(i->Pin.LoadL.dst, mode64), in emit_PPCInstr()
3227 0, iregNo(i->Pin.LoadL.src, mode64), 84, 0); in emit_PPCInstr()
3236 UInt r_dst = iregNo(i->Pin.Set.dst, mode64); in emit_PPCInstr()
3265 p = mkFormX(p, 31, iregNo(i->Pin.MfCR.dst, mode64), 0, 0, 19, 0); in emit_PPCInstr()
3277 UInt r_src = iregNo(i->Pin.Store.src, mode64); in emit_PPCInstr()
3281 if (mode64 && (sz == 4 || sz == 8)) { in emit_PPCInstr()
3289 case 8: vassert(mode64); in emit_PPCInstr()
3294 p = doAMode_IR(p, opc1, r_src, am_addr, mode64); in emit_PPCInstr()
3301 case 8: vassert(mode64); in emit_PPCInstr()
3306 p = doAMode_RR(p, 31, opc2, r_src, am_addr, mode64); in emit_PPCInstr()
3316 p = mkFormX(p, 31, iregNo(i->Pin.StoreC.src, mode64), in emit_PPCInstr()
3317 0, iregNo(i->Pin.StoreC.dst, mode64), 150, 1); in emit_PPCInstr()
3320 if (i->Pin.StoreC.sz == 8 && mode64) { in emit_PPCInstr()
3321 p = mkFormX(p, 31, iregNo(i->Pin.StoreC.src, mode64), in emit_PPCInstr()
3322 0, iregNo(i->Pin.StoreC.dst, mode64), 214, 1); in emit_PPCInstr()
3438 p = doAMode_RR(p, 31, opc, f_reg, am_addr, mode64); in emit_PPCInstr()
3441 p = doAMode_IR(p, opc, f_reg, am_addr, mode64); in emit_PPCInstr()
3446 p = doAMode_RR(p, 31, opc, f_reg, am_addr, mode64); in emit_PPCInstr()
3449 p = doAMode_IR(p, opc, f_reg, am_addr, mode64); in emit_PPCInstr()
3456 UInt ir_addr = iregNo(i->Pin.FpSTFIW.addr, mode64); in emit_PPCInstr()
3543 UInt r_dst = iregNo(i->Pin.FpCmp.dst, mode64); in emit_PPCInstr()
3560 UInt reg = iregNo(i->Pin.RdWrLR.gpr, mode64); in emit_PPCInstr()
3575 r_base = iregNo(i->Pin.AvLdSt.addr->Pam.RR.base, mode64); in emit_PPCInstr()
3581 i->Pin.AvLdSt.addr->Pam.IR.index, mode64); in emit_PPCInstr()
3583 r_idx = iregNo(i->Pin.AvLdSt.addr->Pam.RR.index, mode64); in emit_PPCInstr()
3960 ppPPCInstr(i, mode64); in emit_PPCInstr()