xref: /linux/tools/testing/selftests/powerpc/primitives/asm/asm-compat.h (revision 9e56ff53b4115875667760445b028357848b4748)
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	stringify_in_c(ldarx)
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_SRL		stringify_in_c(srd)
25 #define PPC_LR_STKOFF	16
26 #define PPC_MIN_STKFRM	112
27 
28 #ifdef __BIG_ENDIAN__
29 #define LHZX_BE	stringify_in_c(lhzx)
30 #define LWZX_BE	stringify_in_c(lwzx)
31 #define LDX_BE	stringify_in_c(ldx)
32 #define STWX_BE	stringify_in_c(stwx)
33 #define STDX_BE	stringify_in_c(stdx)
34 #else
35 #define LHZX_BE	stringify_in_c(lhbrx)
36 #define LWZX_BE	stringify_in_c(lwbrx)
37 #define LDX_BE	stringify_in_c(ldbrx)
38 #define STWX_BE	stringify_in_c(stwbrx)
39 #define STDX_BE	stringify_in_c(stdbrx)
40 #endif
41 
42 #else /* 32-bit */
43 
44 /* operations for longs and pointers */
45 #define PPC_LL		stringify_in_c(lwz)
46 #define PPC_STL		stringify_in_c(stw)
47 #define PPC_STLU	stringify_in_c(stwu)
48 #define PPC_LCMPI	stringify_in_c(cmpwi)
49 #define PPC_LCMPLI	stringify_in_c(cmplwi)
50 #define PPC_LCMP	stringify_in_c(cmpw)
51 #define PPC_LONG	stringify_in_c(.long)
52 #define PPC_LONG_ALIGN	stringify_in_c(.balign 4)
53 #define PPC_TLNEI	stringify_in_c(twnei)
54 #define PPC_LLARX	stringify_in_c(lwarx)
55 #define PPC_STLCX	stringify_in_c(stwcx.)
56 #define PPC_CNTLZL	stringify_in_c(cntlzw)
57 #define PPC_MTOCRF	stringify_in_c(mtcrf)
58 #define PPC_SRL		stringify_in_c(srw)
59 #define PPC_LR_STKOFF	4
60 #define PPC_MIN_STKFRM	16
61 
62 #endif
63 
64 #endif /* _ASM_POWERPC_ASM_COMPAT_H */
65