http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47581
--- Comment #8 from H.J. Lu 2011-02-02 14:57:22
UTC ---
For this tescase, gcc 4.4 generates the most efficient code
while 4.5/4.6 become worse and worse:
[hjl@gnu-6 gcc]$ cat x.i
unsigned mulh(unsigned a, unsigned b)
{
unsigned long long l __
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47581
--- Comment #7 from H.J. Lu 2011-02-02 14:18:22
UTC ---
(In reply to comment #6)
> Created attachment 23213 [details]
> gcc46-pr47581.patch
>
> This patch indeed fixes the testcase and passed bootstrap/regtest on
> x86_64-linux and i686-linux.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47581
--- Comment #6 from Jakub Jelinek 2011-02-02
13:52:42 UTC ---
Created attachment 23213
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23213
gcc46-pr47581.patch
This patch indeed fixes the testcase and passed bootstrap/regtest on
x86_64-linu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47581
--- Comment #5 from Jakub Jelinek 2011-02-02
12:25:01 UTC ---
But then wouldn't be size != 0?
At least when I try -O2 -m32:
int
foo (int x, int y)
{
long long a = (x + 0LL) * y;
long long b = (x - 63LL) * ((y | 12) + 67LL);
long long c =
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47581
--- Comment #4 from Richard Guenther 2011-02-02
12:12:23 UTC ---
(In reply to comment #3)
> Before Richard's commit apparently expand_one_var wasn't updating
> stack_alignment_needed, just stack_alignment_estimated, now it updates both.
> As PREF
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47581
Jakub Jelinek changed:
What|Removed |Added
CC||jakub at gcc dot gnu.org
--- Comment #3 f
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47581
H.J. Lu changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Last reconfirmed|