qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 04/20] tcg-ia64: Simplify brcond


From: Richard Henderson
Subject: Re: [Qemu-devel] [PATCH 04/20] tcg-ia64: Simplify brcond
Date: Mon, 04 Nov 2013 14:24:59 +1000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.0

On 11/04/2013 09:34 AM, Richard Henderson wrote:
> On 11/03/2013 12:56 PM, Aurelien Jarno wrote:
>> That said the implementation is likely wrong as with this patch applied,
>> qemu-system-x86_64 is not even able to execute seabios to the first
>> printed message. Please do at least basic testing.
> 
> Really?  I'll look into it.
> 
> I do basic testing -- arm, sparc, alpha.  Those are the ones that can
> usefully boot via serial console instead of having to set up a tunnel
> for a vnc viewer.

Yes indeed, there's a bug.  This additional patch is required:

diff --git a/tcg/ia64/tcg-target.c b/tcg/ia64/tcg-target.c
index 2fdc38a..e0413d9 100644
--- a/tcg/ia64/tcg-target.c
+++ b/tcg/ia64/tcg-target.c
@@ -2359,7 +2359,7 @@ static const TCGTargetOpDef ia64_op_defs[] = {
     { INDEX_op_bswap32_i64, { "r", "rZ" } },
     { INDEX_op_bswap64_i64, { "r", "rZ" } },

-    { INDEX_op_brcond_i64, { "rI", "rI" } },
+    { INDEX_op_brcond_i64, { "rZ", "rZ" } },
     { INDEX_op_setcond_i64, { "r", "rZ", "rZ" } },
     { INDEX_op_movcond_i64, { "r", "rZ", "rZ", "rI", "rI" } },


I managed to change the constraints for brcond_i32 but forget its brother.
Naturally, arm and sparc don't excercise brcond_i64, and as it happens alpha
would have only generated brcond_i64 vs zero and not seen the problem.

Will be fixed in v3.  Do you see anything else in the patch set?


r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]