pike.git / src / code / ppc32.h

version» Context lines:

pike.git/src/code/ppc32.h:1:   /* -  * $Id: ppc32.h,v 1.8 2001/08/16 18:51:10 marcus Exp $ +  * $Id: ppc32.h,v 1.9 2001/08/16 21:35:41 marcus Exp $    */      #define PIKE_OPCODE_T unsigned INT32      #define PPC_INSTR_B_FORM(OPCD,BO,BI,BD,AA,LK) \    add_to_program(((OPCD)<<26)|((BO)<<21)|((BI)<<16)| \    (((BD)&0x3fff)<<2)|((AA)<<1)|(LK))   #define PPC_INSTR_D_FORM(OPCD,S,A,d) \    add_to_program(((OPCD)<<26)|((S)<<21)|((A)<<16)|((d)&0xffff))   #define PPC_INSTR_M_FORM(OPCD,S,A,SH,MB,ME,Rc) \    add_to_program(((OPCD)<<26)|((S)<<21)|((A)<<16)|((SH)<<11)| \    ((MB)<<6)|((ME)<<1)|(Rc))      #define BC(BO,BI,BD) PPC_INSTR_B_FORM(16,BO,BI,BD,0,0)      #define CMPLI(crfD,A,UIMM) PPC_INSTR_D_FORM(10,crfD,A,UIMM)   #define ADDIC(D,A,SIMM) PPC_INSTR_D_FORM(12,D,A,SIMM)   #define ADDI(D,A,SIMM) PPC_INSTR_D_FORM(14,D,A,SIMM)   #define ADDIS(D,A,SIMM) PPC_INSTR_D_FORM(15,D,A,SIMM) - #define ORI(D,A,UIMM) PPC_INSTR_D_FORM(24,D,A,UIMM) + #define ORI(A,S,UIMM) PPC_INSTR_D_FORM(24,S,A,UIMM)   #define LWZ(D,A,d) PPC_INSTR_D_FORM(32,D,A,d)   #define STW(S,A,d) PPC_INSTR_D_FORM(36,S,A,d) -  + #define LHA(D,A,d) PPC_INSTR_D_FORM(42,D,A,d)      #define RLWINM(S,A,SH,MB,ME) PPC_INSTR_M_FORM(21,S,A,SH,MB,ME,0)         #define LOW_GET_JUMP() (PROG_COUNTER[0])   #define LOW_SKIPJUMP() (SET_PROG_COUNTER(PROG_COUNTER + 1))   #define PROG_COUNTER (((INT32 **)__builtin_frame_address(1))[2])      #define SET_REG(REG, X) do { \    INT32 val_ = X; \
pike.git/src/code/ppc32.h:41:    ADDIS(reg_, 0, val_ >> 16); \    if (val_ & 0xffff) { \    /* ori reg,reg,%lo(val) */ \    ORI(reg_, reg_, val_); \    } \    } \    } while(0)      #define PPC_REG_ARG1 3   #define PPC_REG_ARG2 4 + #define PPC_REG_ARG3 5    -  +    #define PPC_REG_PIKE_MARK_SP 8   #define PPC_REG_PIKE_FP 9   #define PPC_REG_PIKE_SP 10      #define PPC_REG_PIKE_INTERP 31      extern int ppc32_codegen_state;   void ppc32_flush_code_generator_state(void);   #define FLUSH_CODE_GENERATOR_STATE ppc32_flush_code_generator_state