aboutsummaryrefslogtreecommitdiff
path: root/src/lj_arch.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lj_arch.h29
1 files changed, 24 insertions, 5 deletions
diff --git a/src/lj_arch.h b/src/lj_arch.h
index b7705642..0145a7c0 100644
--- a/src/lj_arch.h
+++ b/src/lj_arch.h
@@ -254,6 +254,29 @@
254#else 254#else
255#define LJ_ARCH_BITS 32 255#define LJ_ARCH_BITS 32
256#define LJ_ARCH_NAME "ppc" 256#define LJ_ARCH_NAME "ppc"
257
258#if !defined(LJ_ARCH_HASFPU)
259#if defined(_SOFT_FLOAT) || defined(_SOFT_DOUBLE)
260#define LJ_ARCH_HASFPU 0
261#else
262#define LJ_ARCH_HASFPU 1
263#endif
264#endif
265
266#if !defined(LJ_ABI_SOFTFP)
267#if defined(_SOFT_FLOAT) || defined(_SOFT_DOUBLE)
268#define LJ_ABI_SOFTFP 1
269#else
270#define LJ_ABI_SOFTFP 0
271#endif
272#endif
273#endif
274
275#if LJ_ABI_SOFTFP
276#define LJ_ARCH_NOJIT 1 /* NYI */
277#define LJ_ARCH_NUMMODE LJ_NUMMODE_DUAL
278#else
279#define LJ_ARCH_NUMMODE LJ_NUMMODE_DUAL_SINGLE
257#endif 280#endif
258 281
259#define LJ_TARGET_PPC 1 282#define LJ_TARGET_PPC 1
@@ -262,7 +285,6 @@
262#define LJ_TARGET_MASKSHIFT 0 285#define LJ_TARGET_MASKSHIFT 0
263#define LJ_TARGET_MASKROT 1 286#define LJ_TARGET_MASKROT 1
264#define LJ_TARGET_UNIFYROT 1 /* Want only IR_BROL. */ 287#define LJ_TARGET_UNIFYROT 1 /* Want only IR_BROL. */
265#define LJ_ARCH_NUMMODE LJ_NUMMODE_DUAL_SINGLE
266 288
267#if LJ_TARGET_CONSOLE 289#if LJ_TARGET_CONSOLE
268#define LJ_ARCH_PPC32ON64 1 290#define LJ_ARCH_PPC32ON64 1
@@ -415,16 +437,13 @@
415#error "No support for ILP32 model on ARM64" 437#error "No support for ILP32 model on ARM64"
416#endif 438#endif
417#elif LJ_TARGET_PPC 439#elif LJ_TARGET_PPC
418#if defined(_SOFT_FLOAT) || defined(_SOFT_DOUBLE)
419#error "No support for PowerPC CPUs without double-precision FPU"
420#endif
421#if !LJ_ARCH_PPC64 && LJ_ARCH_ENDIAN == LUAJIT_LE 440#if !LJ_ARCH_PPC64 && LJ_ARCH_ENDIAN == LUAJIT_LE
422#error "No support for little-endian PPC32" 441#error "No support for little-endian PPC32"
423#endif 442#endif
424#if LJ_ARCH_PPC64 443#if LJ_ARCH_PPC64
425#error "No support for PowerPC 64 bit mode (yet)" 444#error "No support for PowerPC 64 bit mode (yet)"
426#endif 445#endif
427#ifdef __NO_FPRS__ 446#if defined(__NO_FPRS__) && !defined(_SOFT_FLOAT)
428#error "No support for PPC/e500 anymore (use LuaJIT 2.0)" 447#error "No support for PPC/e500 anymore (use LuaJIT 2.0)"
429#endif 448#endif
430#elif LJ_TARGET_MIPS32 449#elif LJ_TARGET_MIPS32