[Bug tree-optimization/60930] [4.8/4.9/4.10 Regression] Wrong folding of - ((unsigned long long) a * (unsigned long long) (unsigned int)-1)
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Apr 23 06:55:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60930
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2014-04-23
CC| |jakub at gcc dot gnu.org,
| |wschmidt at gcc dot gnu.org
Target Milestone|--- |4.8.3
Summary|Wrong folding of - |[4.8/4.9/4.10 Regression]
|((unsigned long long) a * |Wrong folding of -
|(unsigned long long) |((unsigned long long) a *
|(unsigned int)-1) |(unsigned long long)
| |(unsigned int)-1)
Ever confirmed|0 |1
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Indeed, started with r188989.
int x = 1;
__attribute__((noinline, noclone)) void
foo (unsigned long long t)
{
asm volatile ("" : : "r" (&t));
if (x == 1)
__builtin_abort ();
}
int
main ()
{
unsigned long long t = 0xffffffffffffffffULL * (0xffffffffUL * x);
if (t != 0xffffffff00000001ULL)
foo (t);;
return 0;
}
More information about the Gcc-bugs
mailing list