diff options
author | Mike Pall <mike> | 2017-02-20 03:43:10 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2017-02-20 03:43:10 +0100 |
commit | a25c0b99b84558887887b8e298409dcf8605e5e3 (patch) | |
tree | 8cb7b1db3cb0cd4f6cdd59540d39d986b502e471 /src/lj_trace.c | |
parent | 4416e885d28c0f49d2c7bb3f9630ab23c22fbc9a (diff) | |
download | luajit-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.c | 11 |
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 | ||