This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/68277] [5/6 Regression] [SH]: error: insn does not satisfy its constraints when compiling erlang
- From: "olegendo at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 15 Nov 2015 07:34:42 +0000
- Subject: [Bug target/68277] [5/6 Regression] [SH]: error: insn does not satisfy its constraints when compiling erlang
- Auto-submitted: auto-generated
- References: <bug-68277-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68277
--- Comment #9 from Oleg Endo <olegendo at gcc dot gnu.org> ---
(In reply to Kazumoto Kojima from comment #6)
> I think that that trial and AMS show the backend like SH requires
> something even for the old reload, though I'm not sure that
> the 2nd postreload_cse is the right thing for that.
The 2nd postreload might be a wallpapering work around. But it would allow us
to switch to LRA by default without regressing code size / performance, if I
understand correctly.
Of course the proper fix would be having AMS and constant optimization and R0
pre-alloc and 2-operand-optimizations (the ones we've been fighting with the
addsi3 patterns) and ...
At the current (lack of) pace I don't know when all of that will be done. So
my idea was to at least reduce the R0 problem for users by making LRA the
default in GCC 6. If we have to add the 2nd postreload temporarily, so be it.
When the other solutions become more mature and stable, we can remove the 2nd
postreload thing again.