https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70333
--- Comment #8 from Richard Biener ---
Author: rguenth
Date: Tue Mar 22 13:23:00 2016
New Revision: 234401
URL: https://gcc.gnu.org/viewcvs?rev=234401&root=gcc&view=rev
Log:
2016-03-22 Richard Biener
PR middle-end/70333
* fol
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70333
--- Comment #7 from Richard Biener ---
Hmm. FAILs gcc.dg/torture/20141202-1.c (at least).
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70333
Richard Biener changed:
What|Removed |Added
Status|NEW |ASSIGNED
Assignee|unassigned
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70333
--- Comment #6 from Richard Biener ---
Testing the following - 4.9 performed a wide unsigned multiplication
@@ -6376,18 +6376,17 @@ extract_muldiv_1 (tree t, tree c, enum t
bool overflow_p = false;
bool overflow_mul_p;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70333
--- Comment #5 from Richard Biener ---
4.9 had
if (tcode == code)
{
double_int mul;
bool overflow_p;
unsigned prec = TYPE_PRECISION (ctype);
bool uns = TYPE_UNSIGNED (ctype);
double
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70333
--- Comment #4 from Richard Biener ---
Starts to go downhill here:
/* If these are the same operation types, we can associate them
assuming no overflow. */
if (tcode == code)
{
bool overflow_p = false;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70333
--- Comment #3 from Jakub Jelinek ---
Simplified testcase:
unsigned long int
foo (signed char b, signed char e)
{
return ((2ULL * b) * (e * 13)) * (32 << 24);
}
int
main ()
{
if (__CHAR_BIT__ == 8
&& sizeof (int) == 4
&& sizeof (
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70333
Jakub Jelinek changed:
What|Removed |Added
CC||jakub at gcc dot gnu.org
--- Comment #2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70333
Richard Biener changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Last reconfirmed|