> This case is covered by Wilco's previous reply: > > https://gcc.gnu.org/ml/gcc-patches/2017-08/msg00575.html
Which I don't understand:
> No it's perfectly safe - it becomes an integer-only shift after the
> split since it keeps the masking as part of the pattern.
Let say we have your first example:
long f1(long x, int i)
{
return x >> (64 - i);
}
If "i" is -2, this should be a shift of 66 (which is indeed, technically
undefined), but becomes a shift of 62. What am I missing?
