On Sun, Dec 5, 2010 at 10:21 PM, Joseph S. Myers
<jos...@codesourcery.com> wrote:
> On Sun, 5 Dec 2010, Richard Guenther wrote:
>
>> Ah, you're using intrinsics.  I thought of re-using the saturating arithmetic
>> and types we have, thus basically do
>>
>>   size = (unsigned sat int) count * 4;
>>
>> and defer optimal expansion to an optab.  It of course requires saturating
>> arithmetic emulation for targets that don't provide an expander but would
>> allow optimal expansion at least.
>>
>> And it'll unleash all the latent bugs we have with saturating types ...
>
> And I thought that defining saturated operations for normal integer types
> would be better than trying to use fixed-point types on targets that don't
> have an ABI for them or where they may not match the types on which you
> want saturated operations.  That is, I think saturated operations would be
> a better internal representation at the GIMPLE level than saturated types
> (this may also apply to lowering existing fixed-point saturated type
> support) and then they could be expanded to various forms of RTL including
> direct saturated instructions, comparisons or overflow flags checks.

True - but it's not how saturated operations are implemented in the
middle-end right now.  Eventually I will finish transitioning our undefined
overflow scheme to that for 4.7 though ...

Richard.

> --
> Joseph S. Myers
> jos...@codesourcery.com
>

Reply via email to