mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
fix in GNU lightning to enable the compilation of two of the the floating point operations.
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user