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