summaryrefslogtreecommitdiff
path: root/src/lj_ir.h
diff options
context:
space:
mode:
authorMike Pall <mike>2010-12-06 00:07:36 +0100
committerMike Pall <mike>2010-12-06 00:07:36 +0100
commit588fa0481fff746b5a866dd8b90ddd00618da71d (patch)
treef14e18525a0736ff72a887f0b2a7d8c913ad5609 /src/lj_ir.h
parentc5f4f607c9d73b11ce151f677a06d3f0089be219 (diff)
downloadluajit-588fa0481fff746b5a866dd8b90ddd00618da71d.tar.gz
luajit-588fa0481fff746b5a866dd8b90ddd00618da71d.tar.bz2
luajit-588fa0481fff746b5a866dd8b90ddd00618da71d.zip
Add support for 64 bit integer arithmetic to x64 backend.
Diffstat (limited to 'src/lj_ir.h')
-rw-r--r--src/lj_ir.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/lj_ir.h b/src/lj_ir.h
index b8ea0fa9..232ff939 100644
--- a/src/lj_ir.h
+++ b/src/lj_ir.h
@@ -380,9 +380,14 @@ typedef struct IRType1 { uint8_t irt; } IRType1;
380#define irt_isgcv(t) (irt_typerange((t), IRT_STR, IRT_UDATA)) 380#define irt_isgcv(t) (irt_typerange((t), IRT_STR, IRT_UDATA))
381#define irt_isaddr(t) (irt_typerange((t), IRT_LIGHTUD, IRT_UDATA)) 381#define irt_isaddr(t) (irt_typerange((t), IRT_LIGHTUD, IRT_UDATA))
382 382
383#if LJ_64
384#define IRT_IS64 \
385 ((1u<<IRT_NUM)|(1u<<IRT_I64)|(1u<<IRT_U64)|(1u<<IRT_P64)|(1u<<IRT_LIGHTUD))
386#else
383#define IRT_IS64 \ 387#define IRT_IS64 \
384 ((1u<<IRT_NUM) | (1u<<IRT_I64) | (1u<<IRT_U64) | (1u<<IRT_P64) | \ 388 ((1u<<IRT_NUM)|(1u<<IRT_I64)|(1u<<IRT_U64))
385 (LJ_64 ? (1u<<IRT_LIGHTUD) : 0)) 389#endif
390
386#define irt_is64(t) ((IRT_IS64 >> irt_type(t)) & 1) 391#define irt_is64(t) ((IRT_IS64 >> irt_type(t)) & 1)
387 392
388static LJ_AINLINE IRType itype2irt(const TValue *tv) 393static LJ_AINLINE IRType itype2irt(const TValue *tv)