pike.git / src / code / ppc32.h

version» Context lines:

pike.git/src/code/ppc32.h:1:   /*   || This file is part of Pike. For copyright information see COPYRIGHT.   || Pike is distributed under GPL, LGPL and MPL. See the file COPYING   || for more information. - || $Id: ppc32.h,v 1.22 2003/08/07 20:48:18 marcus Exp $ + || $Id: ppc32.h,v 1.23 2003/08/12 13:46:15 marcus Exp $   */      #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_I_FORM(OPCD,LI,AA,LK) \    add_to_program(((OPCD)<<26)|((LI)&0x03fffffc)|((AA)<<1)|(LK))   #define PPC_INSTR_M_FORM(OPCD,S,A,SH,MB,ME,Rc) \
pike.git/src/code/ppc32.h:36:      #define MFSPR(D,SPR) PPC_INSTR_XFX_FORM(31,D,(((SPR)&0x1f)<<5)|(((SPR)&0x3e0)>>5),339)   #define MTSPR(D,SPR) PPC_INSTR_XFX_FORM(31,D,(((SPR)&0x1f)<<5)|(((SPR)&0x3e0)>>5),467)      #define BCLR(BO,BI) PPC_INSTR_XL_FORM(19,BO,BI,0,16,0)   #define BCLRL(BO,BI) PPC_INSTR_XL_FORM(19,BO,BI,0,16,1)   #define B(LI) PPC_INSTR_I_FORM(18,LI,0,0)   #define BL(LI) PPC_INSTR_I_FORM(18,LI,0,1)   #define BLA(LI) PPC_INSTR_I_FORM(18,LI,1,1)    - #define LOW_GET_JUMP() (PROG_COUNTER[0]) - #define LOW_SKIPJUMP() (SET_PROG_COUNTER(PROG_COUNTER + 1)) + #define LOW_GET_JUMP() (PROG_COUNTER[JUMP_EPILOGUE_SIZE]) + #define LOW_SKIPJUMP() (SET_PROG_COUNTER(PROG_COUNTER + JUMP_EPILOGUE_SIZE + 1))      #define SET_REG(REG, X) do { \    INT32 val_ = X; \    INT32 reg_ = REG; \    if ((-32768 <= val_) && (val_ <= 32767)) { \    /* addi reg,0,val */ \    ADDI(reg_, 0, val_); \    } else { \    /* addis reg,0,%hi(val) */ \    ADDIS(reg_, 0, val_ >> 16); \