do_fcmpd();
}
+#ifdef USE_INT_TO_FLOAT_HELPERS
void OPPROTO op_fitos(void)
{
- FT0 = (float) *((int32_t *)&FT1);
+ do_fitos();
}
-void OPPROTO op_fdtos(void)
+void OPPROTO op_fitod(void)
{
- FT0 = (float) DT1;
+ do_fitod();
+}
+#else
+void OPPROTO op_fitos(void)
+{
+ FT0 = (float) *((int32_t *)&FT1);
}
void OPPROTO op_fitod(void)
{
DT0 = (double) *((int32_t *)&FT1);
}
+#endif
+
+void OPPROTO op_fdtos(void)
+{
+ FT0 = (float) DT1;
+}
void OPPROTO op_fstod(void)
{
#include <fenv.h>
#include "exec.h"
-void OPPROTO do_fabss(void)
+#ifdef USE_INT_TO_FLOAT_HELPERS
+void do_fitos(void)
+{
+ FT0 = (float) *((int32_t *)&FT1);
+}
+
+void do_fitod(void)
+{
+ DT0 = (double) *((int32_t *)&FT1);
+}
+#endif
+
+void do_fabss(void)
{
FT0 = fabsf(FT1);
}
-void OPPROTO do_fsqrts(void)
+void do_fsqrts(void)
{
FT0 = sqrtf(FT1);
}
-void OPPROTO do_fsqrtd(void)
+void do_fsqrtd(void)
{
DT0 = sqrt(DT1);
}
-void OPPROTO do_fcmps (void)
+void do_fcmps (void)
{
if (isnan(FT0) || isnan(FT1)) {
T0 = FSR_FCC1 | FSR_FCC0;
env->fsr = T0;
}
-void OPPROTO do_fcmpd (void)
+void do_fcmpd (void)
{
if (isnan(DT0) || isnan(DT1)) {
T0 = FSR_FCC1 | FSR_FCC0;
env->fsr = T0;
}
-void OPPROTO helper_ld_asi(int asi, int size, int sign)
+void helper_ld_asi(int asi, int size, int sign)
{
switch(asi) {
case 3: /* MMU probe */
}
}
-void OPPROTO helper_st_asi(int asi, int size, int sign)
+void helper_st_asi(int asi, int size, int sign)
{
switch(asi) {
case 3: /* MMU flush */
#endif
#endif
-void OPPROTO helper_rett()
+void helper_rett()
{
int cwp;
env->psret = 1;
#if defined(CONFIG_USER_ONLY)
#define gen_op_ldst(name) gen_op_##name##_raw()
-#define OP_LD_TABLE(width)
+#define OP_LD_TABLE(width) \
+static void gen_op_##width##a(int insn, int is_ld, int size, int sign) \
+{ \
+}
#define supervisor(dc) 0
#else
#define gen_op_ldst(name) (*gen_op_##name[dc->mem_idx])()