qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [4313] CRIS: Convert divide step to TCG.
@ 2008-05-03 21:34 Edgar E. Iglesias
  0 siblings, 0 replies; only message in thread
From: Edgar E. Iglesias @ 2008-05-03 21:34 UTC (permalink / raw)
  To: qemu-devel

Revision: 4313
          http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=4313
Author:   edgar_igl
Date:     2008-05-03 21:34:39 +0000 (Sat, 03 May 2008)

Log Message:
-----------
CRIS: Convert divide step to TCG.

Modified Paths:
--------------
    trunk/target-cris/translate.c

Modified: trunk/target-cris/translate.c
===================================================================
--- trunk/target-cris/translate.c	2008-05-03 20:52:26 UTC (rev 4312)
+++ trunk/target-cris/translate.c	2008-05-03 21:34:39 UTC (rev 4313)
@@ -375,6 +375,23 @@
 	tcg_gen_discard_i32(n);
 }
 
+static void t_gen_cris_dstep(TCGv d, TCGv s)
+{
+	int l1;
+
+	l1 = gen_new_label();
+
+	/* 
+	 * d <<= 1
+	 * if (d >= s)
+	 *    d -= s;
+	 */
+	tcg_gen_shli_tl(d, d, 1);
+	tcg_gen_brcond_tl(TCG_COND_LTU, d, s, l1);
+	tcg_gen_sub_tl(d, d, s);
+	gen_set_label(l1);
+}
+
 /* Extended arithmetics on CRIS.  */
 static inline void t_gen_add_flag(TCGv d, int flag)
 {
@@ -725,7 +742,7 @@
 		}
 		break;
 		case CC_OP_DSTEP:
-			gen_op_dstep_T0_T1();
+			t_gen_cris_dstep(cpu_T[0], cpu_T[1]);
 			break;
 		case CC_OP_BOUND:
 		{

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

only message in thread, other threads:[~2008-05-03 21:34 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-03 21:34 [Qemu-devel] [4313] CRIS: Convert divide step to TCG Edgar E. Iglesias

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).