This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/65153] [SH][4.9 Regression] "insn does not satisfy its constraints" when compiling libmcrypt
- 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, 22 Feb 2015 14:44:47 +0000
- Subject: [Bug target/65153] [SH][4.9 Regression] "insn does not satisfy its constraints" when compiling libmcrypt
- Auto-submitted: auto-generated
- References: <bug-65153-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65153
--- Comment #8 from Oleg Endo <olegendo at gcc dot gnu.org> ---
It seems that the problematic peephole is trying to wallpaper some unlucky
register allocation/reload choices like:
before peephole:
mov.w .L26,r1
add r8,r1
mov r1,r8
mov #0,r1
mov.l r1,@(32,r8)
after peephole:
mov.w .L26,r1
add r8,r1
mov #0,r8
mov.l r8,@(32,r1)
I've tried to disable the peephole on trunk and compared CSiBE results. It
seems the peephole doesn't hit very often:
sum: 3371887 -> 3371943 +56 / +0.001661 %
So we could probably remove the complex peephole without a big loss.
I have a set of similar but simpler peepholes with a higher hit rate. Maybe we
can replace the complex peephole with some simpler ones.