qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] sparc64 correct 32bit carry flag for add instruction
@ 2008-08-17  7:54 Igor Kovalenko
  2008-08-17  8:34 ` Blue Swirl
  0 siblings, 1 reply; 2+ messages in thread
From: Igor Kovalenko @ 2008-08-17  7:54 UTC (permalink / raw)
  To: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 334 bytes --]

Hi!

The attached sparc64-add-carry-icc.patch should fix a problem with
setting 32bit carry flag after add instruction.
This at least fixes a problem with silo vprinf printing only least
significant digit of integers (now it can output address where it
loads kernel instead of 0x0)

Please apply.

-- 
Kind regards,
Igor V. Kovalenko

[-- Attachment #2: sparc64-add-carry-icc.patch --]
[-- Type: application/octet-stream, Size: 944 bytes --]

Index: target-sparc/translate.c
===================================================================
--- target-sparc/translate.c	(revision 5012)
+++ target-sparc/translate.c	(working copy)
@@ -349,16 +349,19 @@
 */
 static inline void gen_cc_C_add_icc(TCGv dst, TCGv src1)
 {
-    TCGv r_temp;
+    TCGv r_temp1, r_temp2;
     int l1;
 
     l1 = gen_new_label();
-    r_temp = tcg_temp_new(TCG_TYPE_TL);
-    tcg_gen_andi_tl(r_temp, dst, 0xffffffffULL);
-    tcg_gen_brcond_tl(TCG_COND_GEU, dst, src1, l1);
+    r_temp1 = tcg_temp_new(TCG_TYPE_TL);
+    r_temp2 = tcg_temp_new(TCG_TYPE_TL);
+    tcg_gen_andi_tl(r_temp1, dst, 0xffffffffULL);
+    tcg_gen_andi_tl(r_temp2, src1, 0xffffffffULL);
+    tcg_gen_brcond_tl(TCG_COND_GEU, r_temp1, r_temp2, l1);
     tcg_gen_ori_i32(cpu_psr, cpu_psr, PSR_CARRY);
     gen_set_label(l1);
-    tcg_temp_free(r_temp);
+    tcg_temp_free(r_temp1);
+    tcg_temp_free(r_temp2);
 }
 
 #ifdef TARGET_SPARC64

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-08-17  8:34 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-17  7:54 [Qemu-devel] [PATCH] sparc64 correct 32bit carry flag for add instruction Igor Kovalenko
2008-08-17  8:34 ` Blue Swirl

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