https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416
--- Comment #15 from Jakub Jelinek ---
Author: jakub
Date: Wed Jan 18 17:39:56 2017
New Revision: 244585
URL: https://gcc.gnu.org/viewcvs?rev=244585&root=gcc&view=rev
Log:
PR target/77416
* gcc.target/powerpc/pr77416.c Guard the
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416
Richard Biener changed:
What|Removed |Added
Status|NEW |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416
Jakub Jelinek changed:
What|Removed |Added
CC||jakub at gcc dot gnu.org
--- Comment #13
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416
--- Comment #12 from Segher Boessenkool ---
The testcase also fails for -m64 for me (on BE). I have -m64 explicitly
in the RUNTESTFLAGS. The testcase has
/* { dg-skip-if "do not override -mcpu" { powerpc64*-*-* } { "-mcpu=*" } {
"-mcpu=power7"
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416
Bill Seurer changed:
What|Removed |Added
CC||seurer at linux dot
vnet.ibm.com
--- Comm
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416
--- Comment #10 from Vladimir Makarov ---
Author: vmakarov
Date: Mon Sep 19 21:38:27 2016
New Revision: 240247
URL: https://gcc.gnu.org/viewcvs?rev=240247&root=gcc&view=rev
Log:
2016-09-19 Vladimir Makarov
PR rtl-optimization/77416
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416
--- Comment #9 from Pat Haugen ---
(In reply to Vladimir Makarov from comment #8)
>
> The attached patch should solve the problem. If it works for you. I'll
> commit it on the next week.
I verified the patch fixes the problem. Thanks.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416
--- Comment #8 from Vladimir Makarov ---
Sorry for delay with the answer. I had a long vacation.
LRA remat sub-pass did not check relation between the hard coded insn
registers. It checked only relations between operand registers and other
ope
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416
--- Comment #7 from Vladimir Makarov ---
Created attachment 39637
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39637&action=edit
A patch candidate
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416
--- Comment #6 from Peter Bergner ---
Looking closer, it does seem remat is trying to handle these hard coded
registers via its hard_regs field. One thing that strikes me as I look at that
code, it checks for reg->type being == OP_IN or != OP_IN
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416
--- Comment #5 from Peter Bergner ---
So this is a latent bug in LRA's rematerialization code. For this test case,
we have insn:
Basic BlocK 6:
...
(insn 179 178 92 6 (parallel [
(set (reg/v:SI 175 [ pD.2425 ])
(plus
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416
--- Comment #4 from Pat Haugen ---
Didn't really think of this before, but the call isn't necessarily the problem,
addze sets the CA bit too. So it's invalid to remataterialize the addze after
an addze.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416
--- Comment #3 from Peter Bergner ---
Here's a creduce'd minimal version of the test case that shows the addz after
the function call. Same compiler options as above.
extern int fn2 ();
extern void fn3 ();
extern void fn4 (int);
int a, c, d, f,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416
Peter Bergner changed:
What|Removed |Added
Assignee|unassigned at gcc dot gnu.org |bergner at gcc dot
gnu.org
--- C
14 matches
Mail list logo