qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 5/7] tcg-sparc: Implement setcond, movcond, set


From: Blue Swirl
Subject: Re: [Qemu-devel] [PATCH 5/7] tcg-sparc: Implement setcond, movcond, setcond2, brcond2.
Date: Sun, 20 Dec 2009 11:06:30 +0000

On Sat, Dec 19, 2009 at 10:52 PM, Richard Henderson <address@hidden> wrote:
> On 12/19/2009 01:25 PM, Blue Swirl wrote:
>>
>> On Sat, Dec 19, 2009 at 5:47 PM, Richard Henderson<address@hidden>
>>  wrote:
>>>
>>> On 12/19/2009 02:31 AM, Blue Swirl wrote:
>>>>>
>>>>>  static inline void tcg_out_movi_imm32(TCGContext *s, int ret, uint32_t
>>>>> arg)
>>>>>  {
>>>>> -    if (check_fit_tl(arg, 12))
>>>>> +    if (check_fit_tl(arg, 13))
>>>>>         tcg_out_movi_imm13(s, ret, arg);
>>>>
>>>> IIRC sign extension prevents this.
>>>
>>> Pardon?  check_fit_tl checks a signed value, the OR opcode provides one.
>>>  Where's the conflict?
>>
>> Long time ago I tried the same change, but the generated code was not
>> correct. But now it seems to work.
>
> I can't imagine why.  I've looked at the instruction encodings very
> carefully and double-checked the arithmetic vs GCC.
>
> I still think the change is correct.  I can probably dig up access to a
> sparc machine and verify, but I don't know that would convince you.

No need for that. I tested it and now it seems to work, thanks.

There's another case a few lines later, I'll change both.




reply via email to

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