https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110751

--- Comment #14 from rguenther at suse dot de <rguenther at suse dot de> ---
On Thu, 20 Jul 2023, rsandifo at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110751
> 
> rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> changed:
> 
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>                  CC|                            |rsandifo at gcc dot gnu.org
> 
> --- Comment #13 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot 
> gnu.org> ---
> I understand the concern with undefined values, since it then becomes less
> obvious whether e.g.:
> 
>   a = undef
>   b = a == a
> 
> is guaranteed to be true, or whether it reduces to:
> 
>   b = undef == undef
> 
> which is presumably undef.
> 
> But I don't think a null operand really helps.  The same question would apply
> to:
> 
>   x = COND_LEN_ADD (a, b, null, len, bias)
>   y = x == x
> 
> vs.
> 
>   x1 = COND_LEN_ADD (a, b, null, len, bias)
>   x2 = COND_LEN_ADD (a, b, null, len, bias)
>   y = x1 == x2
> 
> Do both of these ys evaluate to true, or is one or both be undefined?
> 
> So if we're prepared to accept undefinedness, I'd prefer to have a ?proper?
> representation of it.  We could probably adopt LLVM's semantics for undef.
> 
> (SVE might have some uses for this too.)

Note I simply proposed 'NULL' as the "proper" representation of it.
That doesn't fix any of the semantic issues but I think neither does
any other representation ...

Reply via email to