summaryrefslogtreecommitdiff
path: root/src/runtime
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2014-12-01 09:42:21 +0000
committerkr.angelov <kr.angelov@gmail.com>2014-12-01 09:42:21 +0000
commit14a2821fd8fd44af6b12df9236666a9bae95175a (patch)
tree6fa4f319e0ba696056c5cc801a0670163ccccc63 /src/runtime
parent35e76a5fe8513ca5106cf959f0456f4c95a05d61 (diff)
fix in GNU lightning to enable the compilation of two of the the floating point operations.
Diffstat (limited to 'src/runtime')
-rw-r--r--src/runtime/c/pgf/lightning/arm/fp-swf.h11
-rw-r--r--src/runtime/c/pgf/lightning/arm/fp-vfp.h8
-rw-r--r--src/runtime/c/pgf/lightning/arm/fp.h30
3 files changed, 20 insertions, 29 deletions
diff --git a/src/runtime/c/pgf/lightning/arm/fp-swf.h b/src/runtime/c/pgf/lightning/arm/fp-swf.h
index e9ac82148..53f57217c 100644
--- a/src/runtime/c/pgf/lightning/arm/fp-swf.h
+++ b/src/runtime/c/pgf/lightning/arm/fp-swf.h
@@ -34,7 +34,6 @@
#ifndef __lightning_fp_swf_h
#define __lightning_fp_swf_h
-#if 0
#include <math.h>
#define swf_off(rn) ((rn) << 2)
@@ -119,7 +118,7 @@ extern int __aeabi_dcmpun(double, double);
else \
_BICI(rt, rn, encode_arm_immediate(im)); \
} while (0)
-
+#if 0
__jit_inline void
swf_movr_f(jit_state_t _jit, jit_fpr_t r0, jit_fpr_t r1)
{
@@ -1213,9 +1212,9 @@ swf_pusharg_f(jit_state_t _jit, jit_fpr_t r0)
else
_STRI(JIT_FTMP, JIT_SP, 0);
}
-
+#endif
__jit_inline void
-swf_pusharg_d(jit_state_t _jit, jit_fpr_t r0)
+swf_pusharg_d(jit_state _jit, jit_fpr_t r0)
{
int ofs = _jitl.nextarg_put++;
assert(ofs < 256);
@@ -1226,7 +1225,7 @@ swf_pusharg_d(jit_state_t _jit, jit_fpr_t r0)
swf_ldrin(JIT_TMP, JIT_FP, swf_off(r0) + 8);
swf_ldrin(JIT_FTMP, JIT_FP, swf_off(r0) + 4);
}
- _jitl.arguments[ofs] = (int *)_jit->x.pc;
+ _jitl.arguments[ofs] = (int *)_jit.x.pc;
_jitl.types[ofs >> 5] |= 1 << (ofs & 31);
/* large offsets (handled by patch_arguments) cannot be encoded in STRDI */
if (jit_thumb_p()) {
@@ -1238,7 +1237,7 @@ swf_pusharg_d(jit_state_t _jit, jit_fpr_t r0)
_STRI(JIT_FTMP, JIT_SP, 0);
}
}
-
+#if 0
#define swf_retval_f(_jit, r0) swf_strin(_R0, JIT_FP, swf_off(r0) + 8)
__jit_inline void
swf_retval_d(jit_state_t _jit, jit_fpr_t r0)
diff --git a/src/runtime/c/pgf/lightning/arm/fp-vfp.h b/src/runtime/c/pgf/lightning/arm/fp-vfp.h
index 29c63371e..f78c96d91 100644
--- a/src/runtime/c/pgf/lightning/arm/fp-vfp.h
+++ b/src/runtime/c/pgf/lightning/arm/fp-vfp.h
@@ -1050,18 +1050,18 @@ vfp_pusharg_f(jit_state_t _jit, jit_fpr_t r0)
_jitl.types[ofs >> 5] &= ~(1 << (ofs & 31));
_VSTR_F32(r0, JIT_SP, 0);
}
-
+#endif
__jit_inline void
-vfp_pusharg_d(jit_state_t _jit, jit_fpr_t r0)
+vfp_pusharg_d(jit_state _jit, jit_fpr_t r0)
{
int ofs = _jitl.nextarg_put++;
assert(ofs < 256);
_jitl.stack_offset -= sizeof(double);
- _jitl.arguments[ofs] = (int *)_jit->x.pc;
+ _jitl.arguments[ofs] = (int *)_jit.x.pc;
_jitl.types[ofs >> 5] |= 1 << (ofs & 31);
_VSTR_F64(r0, JIT_SP, 0);
}
-
+#if 0
__jit_inline void
vfp_retval_f(jit_state_t _jit, jit_fpr_t r0)
{
diff --git a/src/runtime/c/pgf/lightning/arm/fp.h b/src/runtime/c/pgf/lightning/arm/fp.h
index c51c7ea2c..479be9804 100644
--- a/src/runtime/c/pgf/lightning/arm/fp.h
+++ b/src/runtime/c/pgf/lightning/arm/fp.h
@@ -990,15 +990,11 @@ arm_prepare_f(jit_state_t _jit, int i0)
assert(i0 >= 0);
_jitl.stack_offset += i0 << 2;
}
-
-#define jit_prepare_d(i0) arm_prepare_d(_jit, i0)
-__jit_inline void
-arm_prepare_d(jit_state_t _jit, int i0)
-{
- assert(i0 >= 0);
- _jitl.stack_offset += i0 << 3;
-}
-
+#endif
+#define jit_prepare_d(i0) \
+ (assert(i0 >= 0), \
+ _jitl.stack_offset += i0 << 3)
+#if 0
#define jit_arg_f() arm_arg_f(_jit)
__jit_inline int
arm_arg_f(jit_state_t _jit)
@@ -1073,16 +1069,12 @@ arm_pusharg_f(jit_state_t _jit, jit_fpr_t r0)
if (jit_swf_p()) swf_pusharg_f(_jit, r0);
else vfp_pusharg_f(_jit, r0);
}
-
-#define jit_pusharg_d(r0) arm_pusharg_d(_jit, r0)
-__jit_inline void
-arm_pusharg_d(jit_state_t _jit, jit_fpr_t r0)
-{
- assert(r0 != JIT_FPRET);
- if (jit_swf_p()) swf_pusharg_d(_jit, r0);
- else vfp_pusharg_d(_jit, r0);
-}
-
+#endif
+#define jit_pusharg_d(r0) \
+ (assert(r0 != JIT_FPRET), \
+ jit_swf_p() ? swf_pusharg_d(_jit, r0) \
+ : vfp_pusharg_d(_jit, r0))
+#if 0
#define jit_retval_f(r0) arm_retval_f(_jit, r0)
__jit_inline void
arm_retval_f(jit_state_t _jit, jit_fpr_t r0)