summaryrefslogtreecommitdiff
path: root/src/lj_trace.c
diff options
context:
space:
mode:
authorMike Pall <mike>2017-02-20 03:43:10 +0100
committerMike Pall <mike>2017-02-20 03:43:10 +0100
commita25c0b99b84558887887b8e298409dcf8605e5e3 (patch)
tree8cb7b1db3cb0cd4f6cdd59540d39d986b502e471 /src/lj_trace.c
parent4416e885d28c0f49d2c7bb3f9630ab23c22fbc9a (diff)
downloadluajit-a25c0b99b84558887887b8e298409dcf8605e5e3.tar.gz
luajit-a25c0b99b84558887887b8e298409dcf8605e5e3.tar.bz2
luajit-a25c0b99b84558887887b8e298409dcf8605e5e3.zip
MIPS64, part 2: Add MIPS64 hard-float JIT compiler backend.
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com. Sponsored by Cisco Systems, Inc.
Diffstat (limited to 'src/lj_trace.c')
-rw-r--r--src/lj_trace.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/lj_trace.c b/src/lj_trace.c
index 4cd925ed..80a7f024 100644
--- a/src/lj_trace.c
+++ b/src/lj_trace.c
@@ -319,13 +319,15 @@ void lj_trace_initstate(global_State *g)
319 /* Initialize 32/64 bit constants. */ 319 /* Initialize 32/64 bit constants. */
320#if LJ_TARGET_X86ORX64 320#if LJ_TARGET_X86ORX64
321 J->k64[LJ_K64_TOBIT].u64 = U64x(43380000,00000000); 321 J->k64[LJ_K64_TOBIT].u64 = U64x(43380000,00000000);
322 J->k64[LJ_K64_2P64].u64 = U64x(43f00000,00000000);
323 J->k64[LJ_K64_M2P64].u64 = U64x(c3f00000,00000000);
324#if LJ_32 322#if LJ_32
325 J->k64[LJ_K64_M2P64_31].u64 = U64x(c1e00000,00000000); 323 J->k64[LJ_K64_M2P64_31].u64 = U64x(c1e00000,00000000);
326#endif 324#endif
325 J->k64[LJ_K64_2P64].u64 = U64x(43f00000,00000000);
327 J->k32[LJ_K32_M2P64_31] = LJ_64 ? 0xdf800000 : 0xcf000000; 326 J->k32[LJ_K32_M2P64_31] = LJ_64 ? 0xdf800000 : 0xcf000000;
328#endif 327#endif
328#if LJ_TARGET_X86ORX64 || LJ_TARGET_MIPS64
329 J->k64[LJ_K64_M2P64].u64 = U64x(c3f00000,00000000);
330#endif
329#if LJ_TARGET_PPC 331#if LJ_TARGET_PPC
330 J->k32[LJ_K32_2P52_2P31] = 0x59800004; 332 J->k32[LJ_K32_2P52_2P31] = 0x59800004;
331 J->k32[LJ_K32_2P52] = 0x59800000; 333 J->k32[LJ_K32_2P52] = 0x59800000;
@@ -335,6 +337,11 @@ void lj_trace_initstate(global_State *g)
335#endif 337#endif
336#if LJ_TARGET_MIPS 338#if LJ_TARGET_MIPS
337 J->k64[LJ_K64_2P31].u64 = U64x(41e00000,00000000); 339 J->k64[LJ_K64_2P31].u64 = U64x(41e00000,00000000);
340#if LJ_64
341 J->k64[LJ_K64_2P63].u64 = U64x(43e00000,00000000);
342 J->k32[LJ_K32_2P63] = 0x5f000000;
343 J->k32[LJ_K32_M2P64] = 0xdf800000;
344#endif
338#endif 345#endif
339} 346}
340 347