162306a36Sopenharmony_ci#ifndef _ASM_POWERPC_ASM_COMPAT_H 262306a36Sopenharmony_ci#define _ASM_POWERPC_ASM_COMPAT_H 362306a36Sopenharmony_ci 462306a36Sopenharmony_ci#include <asm/asm-const.h> 562306a36Sopenharmony_ci#include <asm/types.h> 662306a36Sopenharmony_ci#include <asm/ppc-opcode.h> 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#ifdef __powerpc64__ 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci/* operations for longs and pointers */ 1162306a36Sopenharmony_ci#define PPC_LL stringify_in_c(ld) 1262306a36Sopenharmony_ci#define PPC_STL stringify_in_c(std) 1362306a36Sopenharmony_ci#define PPC_STLU stringify_in_c(stdu) 1462306a36Sopenharmony_ci#define PPC_LCMPI stringify_in_c(cmpdi) 1562306a36Sopenharmony_ci#define PPC_LCMPLI stringify_in_c(cmpldi) 1662306a36Sopenharmony_ci#define PPC_LCMP stringify_in_c(cmpd) 1762306a36Sopenharmony_ci#define PPC_LONG stringify_in_c(.8byte) 1862306a36Sopenharmony_ci#define PPC_LONG_ALIGN stringify_in_c(.balign 8) 1962306a36Sopenharmony_ci#define PPC_TLNEI stringify_in_c(tdnei) 2062306a36Sopenharmony_ci#define PPC_LLARX stringify_in_c(ldarx) 2162306a36Sopenharmony_ci#define PPC_STLCX stringify_in_c(stdcx.) 2262306a36Sopenharmony_ci#define PPC_CNTLZL stringify_in_c(cntlzd) 2362306a36Sopenharmony_ci#define PPC_MTOCRF(FXM, RS) MTOCRF((FXM), RS) 2462306a36Sopenharmony_ci#define PPC_SRL stringify_in_c(srd) 2562306a36Sopenharmony_ci#define PPC_LR_STKOFF 16 2662306a36Sopenharmony_ci#define PPC_MIN_STKFRM 112 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci#ifdef __BIG_ENDIAN__ 2962306a36Sopenharmony_ci#define LHZX_BE stringify_in_c(lhzx) 3062306a36Sopenharmony_ci#define LWZX_BE stringify_in_c(lwzx) 3162306a36Sopenharmony_ci#define LDX_BE stringify_in_c(ldx) 3262306a36Sopenharmony_ci#define STWX_BE stringify_in_c(stwx) 3362306a36Sopenharmony_ci#define STDX_BE stringify_in_c(stdx) 3462306a36Sopenharmony_ci#else 3562306a36Sopenharmony_ci#define LHZX_BE stringify_in_c(lhbrx) 3662306a36Sopenharmony_ci#define LWZX_BE stringify_in_c(lwbrx) 3762306a36Sopenharmony_ci#define LDX_BE stringify_in_c(ldbrx) 3862306a36Sopenharmony_ci#define STWX_BE stringify_in_c(stwbrx) 3962306a36Sopenharmony_ci#define STDX_BE stringify_in_c(stdbrx) 4062306a36Sopenharmony_ci#endif 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci#else /* 32-bit */ 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci/* operations for longs and pointers */ 4562306a36Sopenharmony_ci#define PPC_LL stringify_in_c(lwz) 4662306a36Sopenharmony_ci#define PPC_STL stringify_in_c(stw) 4762306a36Sopenharmony_ci#define PPC_STLU stringify_in_c(stwu) 4862306a36Sopenharmony_ci#define PPC_LCMPI stringify_in_c(cmpwi) 4962306a36Sopenharmony_ci#define PPC_LCMPLI stringify_in_c(cmplwi) 5062306a36Sopenharmony_ci#define PPC_LCMP stringify_in_c(cmpw) 5162306a36Sopenharmony_ci#define PPC_LONG stringify_in_c(.long) 5262306a36Sopenharmony_ci#define PPC_LONG_ALIGN stringify_in_c(.balign 4) 5362306a36Sopenharmony_ci#define PPC_TLNEI stringify_in_c(twnei) 5462306a36Sopenharmony_ci#define PPC_LLARX stringify_in_c(lwarx) 5562306a36Sopenharmony_ci#define PPC_STLCX stringify_in_c(stwcx.) 5662306a36Sopenharmony_ci#define PPC_CNTLZL stringify_in_c(cntlzw) 5762306a36Sopenharmony_ci#define PPC_MTOCRF stringify_in_c(mtcrf) 5862306a36Sopenharmony_ci#define PPC_SRL stringify_in_c(srw) 5962306a36Sopenharmony_ci#define PPC_LR_STKOFF 4 6062306a36Sopenharmony_ci#define PPC_MIN_STKFRM 16 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci#endif 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci#endif /* _ASM_POWERPC_ASM_COMPAT_H */ 65