pike.git / src / code / ppc64.h

version» Context lines:

pike.git/src/code/ppc64.h:23:    add_to_program(((OPCD)<<26)|((BO)<<21)|((BI)<<16)|((CRBB)<<11)| \    ((XO)<<1)|(LK))   #define PPC_INSTR_XFX_FORM(OPCD,S,SPR,XO) \    add_to_program(((OPCD)<<26)|((S)<<21)|((SPR)<<11)|((XO)<<1))   #define PPC_INSTR_XO_FORM(OPCD,D,A,B,OE,XO,Rc) \    add_to_program(((OPCD)<<26)|((D)<<21)|((A)<<16)|((B)<<11)|((OE)<<10)|((XO)<<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 CMPI(crfD,A,UIMM) PPC_INSTR_D_FORM(11,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(A,S,UIMM) PPC_INSTR_D_FORM(24,S,A,UIMM)   #define ORIS(A,S,UIMM) PPC_INSTR_D_FORM(25,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 STH(S,A,d) PPC_INSTR_D_FORM(44,S,A,d)   #define LD(D,A,ds) PPC_INSTR_DS_FORM(58,D,A,ds,0)   #define LDU(D,A,ds) PPC_INSTR_DS_FORM(58,D,A,ds,1)   #define STD(S,A,ds) PPC_INSTR_DS_FORM(62,S,A,ds,0) -  + #define STDU(S,A,ds) PPC_INSTR_DS_FORM(62,S,A,ds,1)      #define RLWINM(S,A,SH,MB,ME) PPC_INSTR_M_FORM(21,S,A,SH,MB,ME,0)   #define RLDICL(S,A,SH,MB) PPC_INSTR_MD_FORM(30,S,A,SH,MB,0,0)   #define RLDICR(S,A,SH,ME) PPC_INSTR_MD_FORM(30,S,A,SH,ME,1,0)      #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)
pike.git/src/code/ppc64.h:265: Inside #if defined(PIKE_CPU_REG_PREFIX)
     #ifdef PIKE_CPU_REG_PREFIX   #define PPC_REGNAME(n) PIKE_CPU_REG_PREFIX #n   #else   #define PPC_REGNAME(n) #n   #endif      #define CALL_MACHINE_CODE(pc) \    __asm__ __volatile__( " mtctr %0\n" \    " mr "PPC_REGNAME(29)",%1\n" \ -  " bctr" \ +  " bctrl" \    : \    : "r" (pc), "r" (Pike_interpreter_pointer) \    : "ctr", "lr", "cc", "memory", "r29", "r0", "r2", \    "r3", "r4", "r5", "r6", "r7", "r8", "r9", \    "r10", "r11", "r12")      #define OPCODE_INLINE_BRANCH   #define OPCODE_RETURN_JUMPADDR -  + #define OPCODE_INLINE_RETURN      #ifdef OPCODE_RETURN_JUMPADDR      /* Don't need an lvalue in this case. */   #define PROG_COUNTER ((PIKE_OPCODE_T *)__builtin_return_address(0))      #define JUMP_EPILOGUE_SIZE 2   #define JUMP_SET_TO_PC_AT_NEXT(PC) \    ((PC) = PROG_COUNTER + JUMP_EPILOGUE_SIZE)   
pike.git/src/code/ppc64.h:299:   #else   /* PowerOpen ABI */   #define PROG_COUNTER (((PIKE_OPCODE_T **)__builtin_frame_address(1))[2])   #endif      #define JUMP_EPILOGUE_SIZE 0      #endif /* !OPCODE_RETURN_JUMPADDR */       + #ifdef OPCODE_INLINE_RETURN +  + /* Size of the prologue added by INS_ENTRY() (in PIKE_OPCODE_T's). */ + #define ENTRY_PROLOGUE_SIZE 3 +  + void ppc64_ins_entry(void); + #define INS_ENTRY() ppc64_ins_entry() +  + #endif /* OPCODE_INLINE_RETURN */ +  +    #ifdef PIKE_DEBUG   void ppc64_disassemble_code(void *addr, size_t bytes);   #define DISASSEMBLE_CODE(ADDR, BYTES) ppc64_disassemble_code(ADDR, BYTES)   #endif