[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~