On 10/19/2016 03:24 AM, Richard Henderson wrote:
> On 10/18/2016 03:05 PM, Marek Vasut wrote:
>>>> Thanks, I hope this is fixed now, although I mostly special-case the
>>>> R_ZERO handling throughout the code. Any writes to R_ZERO are now
>>>> ignored and any usage is converted to mov/movi instructions where
>>>> applicable.
>>>
>>> We've done that in the past, but in the end it is much cleaner to
>>> minimize the number of places in which you have to check for R_ZERO.
>>
>> Isn't it a bit more performant if you generate as little TCG
>> instructions as possible ?
> 
> Well, yes and no.
> 
> We're always going to run the tcg optimizers, so the resulting code
> should be the same either way.

I see, I'd have to dig deeper into the TCG.

> Processing a little more data can be preferable to fewer branch
> prediction failures.  And the best way to avoid those is to not have the
> branch at all. Especially when it's unlikely that the data will be
> created in the first place.

OK, but I need to make sure stores to ZERO register are ignored, right ?

-- 
Best regards,
Marek Vasut

Reply via email to