Home | History | Annotate | Download | only in priv

Lines Matching full:hreg

45 /* The usual HReg abstraction.  There are 32 real int regs,
49 extern void ppHRegPPC ( HReg );
51 extern HReg hregPPC_GPR0 ( Bool mode64 ); // scratch reg / zero reg
52 extern HReg hregPPC_GPR1 ( Bool mode64 ); // Stack Frame Pointer
53 extern HReg hregPPC_GPR2 ( Bool mode64 ); // not used: TOC pointer
54 extern HReg hregPPC_GPR3 ( Bool mode64 );
55 extern HReg hregPPC_GPR4 ( Bool mode64 );
56 extern HReg hregPPC_GPR5 ( Bool mode64 );
57 extern HReg hregPPC_GPR6 ( Bool mode64 );
58 extern HReg hregPPC_GPR7 ( Bool mode64 );
59 extern HReg hregPPC_GPR8 ( Bool mode64 );
60 extern HReg hregPPC_GPR9 ( Bool mode64 );
61 extern HReg hregPPC_GPR10 ( Bool mode64 );
62 extern HReg hregPPC_GPR11 ( Bool mode64 );
63 extern HReg hregPPC_GPR12 ( Bool mode64 );
64 extern HReg hregPPC_GPR13 ( Bool mode64 );
65 extern HReg hregPPC_GPR14 ( Bool mode64 );
66 extern HReg hregPPC_GPR15 ( Bool mode64 );
67 extern HReg hregPPC_GPR16 ( Bool mode64 );
68 extern HReg hregPPC_GPR17 ( Bool mode64 );
69 extern HReg hregPPC_GPR18 ( Bool mode64 );
70 extern HReg hregPPC_GPR19 ( Bool mode64 );
71 extern HReg hregPPC_GPR20 ( Bool mode64 );
72 extern HReg hregPPC_GPR21 ( Bool mode64 );
73 extern HReg hregPPC_GPR22 ( Bool mode64 );
74 extern HReg hregPPC_GPR23 ( Bool mode64 );
75 extern HReg hregPPC_GPR24 ( Bool mode64 );
76 extern HReg hregPPC_GPR25 ( Bool mode64 );
77 extern HReg hregPPC_GPR26 ( Bool mode64 );
78 extern HReg hregPPC_GPR27 ( Bool mode64 );
79 extern HReg hregPPC_GPR28 ( Bool mode64 );
80 extern HReg hregPPC_GPR29 ( Bool mode64 ); // reserved for dispatcher
81 extern HReg hregPPC_GPR30 ( Bool mode64 ); // used as VMX spill temp
82 extern HReg hregPPC_GPR31 ( Bool mode64 ); // GuestStatePtr (callee-saved)
84 extern HReg hregPPC_FPR0 ( void );
85 extern HReg hregPPC_FPR1 ( void );
86 extern HReg hregPPC_FPR2 ( void );
87 extern HReg hregPPC_FPR3 ( void );
88 extern HReg hregPPC_FPR4 ( void );
89 extern HReg hregPPC_FPR5 ( void );
90 extern HReg hregPPC_FPR6 ( void );
91 extern HReg hregPPC_FPR7 ( void );
92 extern HReg hregPPC_FPR8 ( void );
93 extern HReg hregPPC_FPR9 ( void );
94 extern HReg hregPPC_FPR10 ( void );
95 extern HReg hregPPC_FPR11 ( void );
96 extern HReg hregPPC_FPR12 ( void );
97 extern HReg hregPPC_FPR13 ( void );
98 extern HReg hregPPC_FPR14 ( void );
99 extern HReg hregPPC_FPR15 ( void );
100 extern HReg hregPPC_FPR16 ( void );
101 extern HReg hregPPC_FPR17 ( void );
102 extern HReg hregPPC_FPR18 ( void );
103 extern HReg hregPPC_FPR19 ( void );
104 extern HReg hregPPC_FPR20 ( void );
105 extern HReg hregPPC_FPR21 ( void );
106 extern HReg hregPPC_FPR22 ( void );
107 extern HReg hregPPC_FPR23 ( void );
108 extern HReg hregPPC_FPR24 ( void );
109 extern HReg hregPPC_FPR25 ( void );
110 extern HReg hregPPC_FPR26 ( void );
111 extern HReg hregPPC_FPR27 ( void );
112 extern HReg hregPPC_FPR28 ( void );
113 extern HReg hregPPC_FPR29 ( void );
114 extern HReg hregPPC_FPR30 ( void );
115 extern HReg hregPPC_FPR31 ( void );
117 extern HReg hregPPC_VR0 ( void );
118 extern HReg hregPPC_VR1 ( void );
119 extern HReg hregPPC_VR2 ( void );
120 extern HReg hregPPC_VR3 ( void );
121 extern HReg hregPPC_VR4 ( void );
122 extern HReg hregPPC_VR5 ( void );
123 extern HReg hregPPC_VR6 ( void );
124 extern HReg hregPPC_VR7 ( void );
125 extern HReg hregPPC_VR8 ( void );
126 extern HReg hregPPC_VR9 ( void );
127 extern HReg hregPPC_VR10 ( void );
128 extern HReg hregPPC_VR11 ( void );
129 extern HReg hregPPC_VR12 ( void );
130 extern HReg hregPPC_VR13 ( void );
131 extern HReg hregPPC_VR14 ( void );
132 extern HReg hregPPC_VR15 ( void );
133 extern HReg hregPPC_VR16 ( void );
134 extern HReg hregPPC_VR17 ( void );
135 extern HReg hregPPC_VR18 ( void );
136 extern HReg hregPPC_VR19 ( void );
137 extern HReg hregPPC_VR20 ( void );
138 extern HReg hregPPC_VR21 ( void );
139 extern HReg hregPPC_VR22 ( void );
140 extern HReg hregPPC_VR23 ( void );
141 extern HReg hregPPC_VR24 ( void );
142 extern HReg hregPPC_VR25 ( void );
143 extern HReg hregPPC_VR26 ( void );
144 extern HReg hregPPC_VR27 ( void );
145 extern HReg hregPPC_VR28 ( void );
146 extern HReg hregPPC_VR29 ( void );
147 extern HReg hregPPC_VR30 ( void );
148 extern HReg hregPPC_VR31 ( void );
209 HReg base;
213 HReg base;
214 HReg index;
220 extern PPCAMode* PPCAMode_IR ( Int, HReg );
221 extern PPCAMode* PPCAMode_RR ( HReg, HReg );
246 HReg reg;
254 extern PPCRH* PPCRH_Reg ( HReg );
273 HReg Reg;
280 extern PPCRI* PPCRI_Reg( HReg );
299 HReg Reg;
306 extern PPCVI5s* PPCVI5s_Reg ( HReg );
500 HReg dst;
514 HReg dst;
515 HReg srcL;
525 HReg dst;
526 HReg srcL;
533 HReg dst;
534 HReg srcL;
535 HReg srcR;
543 HReg srcL;
549 HReg dst;
550 HReg src;
556 HReg dst;
557 HReg srcL;
558 HReg srcR;
564 HReg dst;
565 HReg srcL;
566 HReg srcR;
589 HReg dst;
595 HReg dst;
601 HReg dst;
602 HReg src;
608 HReg src;
613 HReg dst;
614 HReg src;
619 HReg dst;
623 HReg dst;
634 HReg dst;
635 HReg src;
639 HReg dst;
640 HReg srcL;
641 HReg srcR;
645 HReg dst;
646 HReg srcML;
647 HReg srcMR;
648 HReg srcAcc;
653 HReg reg;
657 HReg addr; /* int reg */
658 HReg data; /* float reg */
662 HReg src;
663 HReg dst;
670 HReg src;
671 HReg dst;
676 HReg dst;
677 HReg src;
681 HReg src;
686 HReg dst;
687 HReg srcL;
688 HReg srcR;
694 HReg gpr;
701 HReg reg;
706 HReg dst;
707 HReg src;
711 HReg dst;
712 HReg srcL;
713 HReg srcR;
717 HReg dst;
718 HReg srcL;
719 HReg srcR;
723 HReg dst;
724 HReg srcL;
725 HReg srcR;
729 HReg dst;
730 HReg srcL;
731 HReg srcR;
735 HReg dst;
736 HReg srcL;
737 HReg srcR;
741 HReg dst;
742 HReg src;
746 HReg dst;
747 HReg srcL;
748 HReg srcR;
749 HReg ctl;
752 HReg dst;
753 HReg srcL;
754 HReg srcR;
755 HReg ctl;
759 HReg dst;
760 HReg srcL;
761 HReg srcR;
765 HReg dst;
772 HReg dst;
773 HReg src;
777 HReg src;
784 extern PPCInstr* PPCInstr_LI ( HReg, ULong, Bool );
785 extern PPCInstr* PPCInstr_Alu ( PPCAluOp, HReg, HReg, PPCRH* );
786 extern PPCInstr* PPCInstr_Shft ( PPCShftOp, Bool sz32, HReg, HReg, PPCRH* );
787 extern PPCInstr* PPCInstr_AddSubC ( Bool, Bool, HReg, HReg, HReg );
788 extern PPCInstr* PPCInstr_Cmp ( Bool, Bool, UInt, HReg, PPCRH* );
789 extern PPCInstr* PPCInstr_Unary ( PPCUnaryOp op, HReg dst, HReg src );
790 extern PPCInstr* PPCInstr_MulL ( Bool syned, Bool hi32, Bool sz32, HReg, HReg, HReg );
791 extern PPCInstr* PPCInstr_Div ( Bool syned, Bool sz32, HReg dst, HReg srcL, HReg srcR );
794 extern PPCInstr* PPCInstr_CMov ( PPCCondCode, HReg dst, PPCRI* src );
796 HReg dst, PPCAMode* src, Bool mode64 );
798 HReg dst, HReg src, Bool mode64 );
800 HReg src, Bool mode64 );
801 extern PPCInstr* PPCInstr_StoreC ( UChar sz, HReg dst, HReg src,
803 extern PPCInstr* PPCInstr_Set ( PPCCondCode cond, HReg dst );
804 extern PPCInstr* PPCInstr_MfCR ( HReg dst );
807 extern PPCInstr* PPCInstr_FpUnary ( PPCFpOp op, HReg dst, HReg src );
808 extern PPCInstr* PPCInstr_FpBinary ( PPCFpOp op, HReg dst, HReg srcL, HReg srcR );
809 extern PPCInstr* PPCInstr_FpMulAcc ( PPCFpOp op, HReg dst, HReg srcML,
810 HReg srcMR, HReg srcAcc );
811 extern PPCInstr* PPCInstr_FpLdSt ( Bool isLoad, UChar sz, HReg, PPCAMode* );
812 extern PPCInstr* PPCInstr_FpSTFIW ( HReg addr, HReg data );
813 extern PPCInstr* PPCInstr_FpRSP ( HReg dst, HReg src );
815 HReg dst, HReg src );
816 extern PPCInstr* PPCInstr_FpCMov ( PPCCondCode, HReg dst, HReg src );
817 extern PPCInstr* PPCInstr_FpLdFPSCR ( HReg src );
818 extern PPCInstr* PPCInstr_FpCmp ( HReg dst, HReg srcL, HReg srcR );
820 extern PPCInstr* PPCInstr_RdWrLR ( Bool wrLR, HReg gpr );
822 extern PPCInstr* PPCInstr_AvLdSt ( Bool isLoad, UChar sz, HReg, PPCAMode* );
823 extern PPCInstr* PPCInstr_AvUnary ( PPCAvOp op, HReg dst, HReg src );
824 extern PPCInstr* PPCInstr_AvBinary ( PPCAvOp op, HReg dst, HReg srcL, HReg srcR );
825 extern PPCInstr* PPCInstr_AvBin8x16 ( PPCAvOp op, HReg dst, HReg srcL, HReg srcR );
826 extern PPCInstr* PPCInstr_AvBin16x8 ( PPCAvOp op, HReg dst, HReg srcL, HReg srcR );
827 extern PPCInstr* PPCInstr_AvBin32x4 ( PPCAvOp op, HReg dst, HReg srcL, HReg srcR );
828 extern PPCInstr* PPCInstr_AvBin32Fx4 ( PPCAvOp op, HReg dst, HReg srcL, HReg srcR );
829 extern PPCInstr* PPCInstr_AvUn32Fx4 ( PPCAvOp op, HReg dst, HReg src );
830 extern PPCInstr* PPCInstr_AvPerm ( HReg dst, HReg srcL, HReg srcR, HReg ctl );
831 extern PPCInstr* PPCInstr_AvSel ( HReg ctl, HReg dst, HReg srcL, HReg srcR );
832 extern PPCInstr* PPCInstr_AvShlDbl ( UChar shift, HReg dst, HReg srcL, HReg srcR );
833 extern PPCInstr* PPCInstr_AvSplat ( UChar sz, HReg dst, PPCVI5s* src );
834 extern PPCInstr* PPCInstr_AvCMov ( PPCCondCode, HReg dst, HReg src );
835 extern PPCInstr* PPCInstr_AvLdVSCR ( HReg src );
843 extern Bool isMove_PPCInstr ( PPCInstr*, HReg*, HReg* );
848 HReg rreg, Int offsetB, Bool mode64 );
850 HReg rreg, Int offsetB, Bool mode64 );
852 extern void getAllocableRegs_PPC ( Int*, HReg**, Bool mode64 );