1*4882a593Smuzhiyun #ifndef _ASM_POWERPC_ASM_COMPAT_H 2*4882a593Smuzhiyun #define _ASM_POWERPC_ASM_COMPAT_H 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun #include <asm/asm-const.h> 5*4882a593Smuzhiyun #include <asm/types.h> 6*4882a593Smuzhiyun #include <asm/ppc-opcode.h> 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun #ifdef __powerpc64__ 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun /* operations for longs and pointers */ 11*4882a593Smuzhiyun #define PPC_LL stringify_in_c(ld) 12*4882a593Smuzhiyun #define PPC_STL stringify_in_c(std) 13*4882a593Smuzhiyun #define PPC_STLU stringify_in_c(stdu) 14*4882a593Smuzhiyun #define PPC_LCMPI stringify_in_c(cmpdi) 15*4882a593Smuzhiyun #define PPC_LCMPLI stringify_in_c(cmpldi) 16*4882a593Smuzhiyun #define PPC_LCMP stringify_in_c(cmpd) 17*4882a593Smuzhiyun #define PPC_LONG stringify_in_c(.8byte) 18*4882a593Smuzhiyun #define PPC_LONG_ALIGN stringify_in_c(.balign 8) 19*4882a593Smuzhiyun #define PPC_TLNEI stringify_in_c(tdnei) 20*4882a593Smuzhiyun #define PPC_LLARX(t, a, b, eh) PPC_LDARX(t, a, b, eh) 21*4882a593Smuzhiyun #define PPC_STLCX stringify_in_c(stdcx.) 22*4882a593Smuzhiyun #define PPC_CNTLZL stringify_in_c(cntlzd) 23*4882a593Smuzhiyun #define PPC_MTOCRF(FXM, RS) MTOCRF((FXM), RS) 24*4882a593Smuzhiyun #define PPC_LR_STKOFF 16 25*4882a593Smuzhiyun #define PPC_MIN_STKFRM 112 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun #ifdef __BIG_ENDIAN__ 28*4882a593Smuzhiyun #define LHZX_BE stringify_in_c(lhzx) 29*4882a593Smuzhiyun #define LWZX_BE stringify_in_c(lwzx) 30*4882a593Smuzhiyun #define LDX_BE stringify_in_c(ldx) 31*4882a593Smuzhiyun #define STWX_BE stringify_in_c(stwx) 32*4882a593Smuzhiyun #define STDX_BE stringify_in_c(stdx) 33*4882a593Smuzhiyun #else 34*4882a593Smuzhiyun #define LHZX_BE stringify_in_c(lhbrx) 35*4882a593Smuzhiyun #define LWZX_BE stringify_in_c(lwbrx) 36*4882a593Smuzhiyun #define LDX_BE stringify_in_c(ldbrx) 37*4882a593Smuzhiyun #define STWX_BE stringify_in_c(stwbrx) 38*4882a593Smuzhiyun #define STDX_BE stringify_in_c(stdbrx) 39*4882a593Smuzhiyun #endif 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun #else /* 32-bit */ 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun /* operations for longs and pointers */ 44*4882a593Smuzhiyun #define PPC_LL stringify_in_c(lwz) 45*4882a593Smuzhiyun #define PPC_STL stringify_in_c(stw) 46*4882a593Smuzhiyun #define PPC_STLU stringify_in_c(stwu) 47*4882a593Smuzhiyun #define PPC_LCMPI stringify_in_c(cmpwi) 48*4882a593Smuzhiyun #define PPC_LCMPLI stringify_in_c(cmplwi) 49*4882a593Smuzhiyun #define PPC_LCMP stringify_in_c(cmpw) 50*4882a593Smuzhiyun #define PPC_LONG stringify_in_c(.long) 51*4882a593Smuzhiyun #define PPC_LONG_ALIGN stringify_in_c(.balign 4) 52*4882a593Smuzhiyun #define PPC_TLNEI stringify_in_c(twnei) 53*4882a593Smuzhiyun #define PPC_LLARX(t, a, b, eh) PPC_LWARX(t, a, b, eh) 54*4882a593Smuzhiyun #define PPC_STLCX stringify_in_c(stwcx.) 55*4882a593Smuzhiyun #define PPC_CNTLZL stringify_in_c(cntlzw) 56*4882a593Smuzhiyun #define PPC_MTOCRF stringify_in_c(mtcrf) 57*4882a593Smuzhiyun #define PPC_LR_STKOFF 4 58*4882a593Smuzhiyun #define PPC_MIN_STKFRM 16 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun #endif 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun #endif /* _ASM_POWERPC_ASM_COMPAT_H */ 63