[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] TCG S/390 backend
From: |
Paul Brook |
Subject: |
Re: [Qemu-devel] [PATCH] TCG S/390 backend |
Date: |
Tue, 12 May 2009 13:29:42 +0100 |
User-agent: |
KMail/1.9.9 |
> I found the problem: TCG does not zero- or sign-extend arguments to
> function calls. Unlike, for instance, AMD64, 32-bit arithmetic ops on
> S/390 leave the upper 32 bits of the destination register untouched, so
> there could be any kind of garbage there. If a helper taking a 64-bit
> argument is called with the result of such an operation, stuff breaks.
You mean an helper that takes a 32-bit value, which happens to be passed in a
64-bit register? This is a tricky one because as you say, TCG has no concept
of signed or unsigned values.
I guess we could add some flag bits to the function call for this.
def-helper.h/tcg_gen_callN already has something similar for identifying
64-bit arguments.
Paul