[Bug tree-optimization/53986] missing vrp on bit-mask test, LSHIFT_EXPR not handled
vries at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Aug 5 18:16:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53986
--- Comment #9 from vries at gcc dot gnu.org 2012-08-05 18:16:21 UTC ---
test-case for LSHIFT_EXPR vrp:
...
extern void link_error (void);
void
f3 (int s, int b)
{
if (s >> 3 == -2)
/* s in range [-16, -9]. */
{
s += 17;
/* s in range [1, 8]. */
b = (b & 1) + 1;
/* b in range [1, 2]. */
b = b << s;
/* b in range [bmin << smin, bmax << smax]
== [1 << 1, 2 << 8]
== [1, 512]. */
if (b == 0|| b == 513)
link_error ();
}
}
int
main ()
{
return 0;
}
...
More information about the Gcc-bugs
mailing list