qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [5125] SH4: final conversion to TCG
@ 2008-09-01 22:12 Aurelien Jarno
  0 siblings, 0 replies; only message in thread
From: Aurelien Jarno @ 2008-09-01 22:12 UTC (permalink / raw)
  To: qemu-devel

Revision: 5125
          http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=5125
Author:   aurel32
Date:     2008-09-01 22:12:06 +0000 (Mon, 01 Sep 2008)

Log Message:
-----------
SH4: final conversion to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

Modified Paths:
--------------
    trunk/configure
    trunk/target-sh4/helper.h
    trunk/target-sh4/op_helper.c
    trunk/target-sh4/translate.c

Removed Paths:
-------------
    trunk/target-sh4/op.c

Modified: trunk/configure
===================================================================
--- trunk/configure	2008-09-01 22:11:56 UTC (rev 5124)
+++ trunk/configure	2008-09-01 22:12:06 UTC (rev 5125)
@@ -1427,10 +1427,8 @@
   ;;
   sh4|sh4eb)
     echo "TARGET_ARCH=sh4" >> $config_mak
-    echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
     echo "#define TARGET_ARCH \"sh4\"" >> $config_h
     echo "#define TARGET_SH4 1" >> $config_h
-    echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
     bflt="yes"
   ;;
   sparc)

Modified: trunk/target-sh4/helper.h
===================================================================
--- trunk/target-sh4/helper.h	2008-09-01 22:11:56 UTC (rev 5124)
+++ trunk/target-sh4/helper.h	2008-09-01 22:12:06 UTC (rev 5125)
@@ -37,6 +37,7 @@
 DEF_HELPER(uint64_t, helper_float_DT, (uint32_t))
 DEF_HELPER(uint32_t, helper_fmul_FT, (uint32_t, uint32_t))
 DEF_HELPER(uint64_t, helper_fmul_DT, (uint64_t, uint64_t))
+DEF_HELPER(uint32_t, helper_fneg_T, (uint32_t))
 DEF_HELPER(uint32_t, helper_fsub_FT, (uint32_t, uint32_t))
 DEF_HELPER(uint64_t, helper_fsub_DT, (uint64_t, uint64_t))
 DEF_HELPER(uint32_t, helper_fsqrt_FT, (uint32_t))

Deleted: trunk/target-sh4/op.c
===================================================================
--- trunk/target-sh4/op.c	2008-09-01 22:11:56 UTC (rev 5124)
+++ trunk/target-sh4/op.c	2008-09-01 22:12:06 UTC (rev 5125)
@@ -1,27 +0,0 @@
-/*
- *  SH4 emulation
- *
- *  Copyright (c) 2005 Samuel Tardieu
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-#include "exec.h"
-
-void OPPROTO op_fneg_frN(void)
-{
-    env->fregs[PARAM1] = float32_chs(env->fregs[PARAM1]);
-    RETURN();
-}
-

Modified: trunk/target-sh4/op_helper.c
===================================================================
--- trunk/target-sh4/op_helper.c	2008-09-01 22:11:56 UTC (rev 5124)
+++ trunk/target-sh4/op_helper.c	2008-09-01 22:12:06 UTC (rev 5125)
@@ -489,6 +489,12 @@
     return *(uint64_t*)(&ret);
 }
 
+uint32_t helper_fneg_T(uint32_t t0)
+{
+    float32 ret = float32_chs(*(float32*)&t0);
+    return *(uint32_t*)(&ret);
+}
+
 uint32_t helper_fsqrt_FT(uint32_t t0)
 {
     float32 ret = float32_sqrt(*(float32*)&t0, &env->fp_status);

Modified: trunk/target-sh4/translate.c
===================================================================
--- trunk/target-sh4/translate.c	2008-09-01 22:11:56 UTC (rev 5124)
+++ trunk/target-sh4/translate.c	2008-09-01 22:12:06 UTC (rev 5125)
@@ -1593,7 +1593,13 @@
 	}
 	return;
     case 0xf04d: /* fneg FRn/DRn - FPSCR: Nothing */
-	gen_op_fneg_frN(FREG(B11_8));
+	{
+	    TCGv fp = tcg_temp_new(TCG_TYPE_I32);
+	    gen_load_fpr32(fp, FREG(B11_8));
+	    tcg_gen_helper_1_1(helper_fneg_T, fp, fp);
+	    gen_store_fpr32(fp, FREG(B11_8));
+	    tcg_temp_free(fp);
+	}
 	return;
     case 0xf05d: /* fabs FRn/DRn */
 	if (ctx->fpscr & FPSCR_PR) {

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-09-01 22:12 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-01 22:12 [Qemu-devel] [5125] SH4: final conversion to TCG Aurelien Jarno

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).