http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59747
--- Comment #14 from Dominique d'Humieres dominiq at lps dot ens.fr ---
Created attachment 31860
-- http://gcc.gnu.org/bugzilla/attachment.cgi?id=31860action=edit
assembly file for gcc.c-torture/execute/pr59747.c on darwin
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59747
Dominique d'Humieres dominiq at lps dot ens.fr changed:
What|Removed |Added
Status|RESOLVED|REOPENED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59747
--- Comment #13 from Dominique d'Humieres dominiq at lps dot ens.fr ---
Created attachment 31859
-- http://gcc.gnu.org/bugzilla/attachment.cgi?id=31859action=edit
preprocessed file for gcc.c-torture/execute/pr59747.c on darwin13
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59747
Jakub Jelinek jakub at gcc dot gnu.org changed:
What|Removed |Added
Status|REOPENED|RESOLVED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59747
--- Comment #16 from Dominique d'Humieres dominiq at lps dot ens.fr ---
You don't have the r206659 fix in your tree, do you?
No. I thought to have tested it as said at the end of comment 12, but it seems
that I did not actually do it. Importing
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59747
Markus Trippelsdorf trippels at gcc dot gnu.org changed:
What|Removed |Added
CC||trippels
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59747
Jeffrey A. Law law at redhat dot com changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59747
--- Comment #10 from Jeffrey A. Law law at gcc dot gnu.org ---
Author: law
Date: Wed Jan 15 18:13:52 2014
New Revision: 206638
URL: http://gcc.gnu.org/viewcvs?rev=206638root=gccview=rev
Log:
PR tree-optimization/59747
* ree.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59747
Marek Polacek mpolacek at gcc dot gnu.org changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Last
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59747
Marek Polacek mpolacek at gcc dot gnu.org changed:
What|Removed |Added
Priority|P3 |P1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59747
--- Comment #2 from Marek Polacek mpolacek at gcc dot gnu.org ---
I think the problem is in setting the value of e. With -O in .gimple we have:
e.2 = e;
e.3 = e.2;
e.4 = e.3 + -1;
e = e.4;
while with -O2:
e.2 = e;
e.3 =
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59747
Jakub Jelinek jakub at gcc dot gnu.org changed:
What|Removed |Added
CC||jakub at gcc dot
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59747
--- Comment #4 from Richard Biener rguenth at gcc dot gnu.org ---
(In reply to Marek Polacek from comment #2)
I think the problem is in setting the value of e. With -O in .gimple we
have:
e.2 = e;
e.3 = e.2;
e.4 = e.3 + -1;
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59747
--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org ---
So, before ree we have:
(insn 13 12 14 4 (set (reg:HI 0 ax [orig:88 D.1782 ] [88])
(mem/c:HI (symbol_ref:DI (e) var_decl 0x7fbcde42c260 e) [3 e+0 S2
A16])) pr59747.c:18 91
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59747
--- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org ---
The actual REGNO != REGNO transformation is correct, the problem is that the
second extension is to a wider mode and while handling that we change the
destination mode on the def_insn
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59747
Jeffrey A. Law law at redhat dot com changed:
What|Removed |Added
Status|NEW |ASSIGNED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59747
--- Comment #7 from Jeffrey A. Law law at redhat dot com ---
In response to your question in c#6, if you use the most obvious form:
ORIG:
(set (reg1) (expression))
(set (reg2) (any_extend (reg1))
TRANSFORMED:
(set (reg1) (any_extend
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59747
--- Comment #8 from Jeffrey A. Law law at redhat dot com ---
This looks pretty easy to fix as we emit the copies.
Basically we had two extensions reached by the same def. Elimination of the
first extension requires a copy. Elimination of the
18 matches
Mail list logo