This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/50101] GCC 4.5 and 4.6 generate suboptimal code on ppc for countdown loops when the CTR register cannot be used
- From: "law at redhat dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 19 Aug 2011 15:35:36 +0000
- Subject: [Bug rtl-optimization/50101] GCC 4.5 and 4.6 generate suboptimal code on ppc for countdown loops when the CTR register cannot be used
- Auto-submitted: auto-generated
- References: <bug-50101-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50101
--- Comment #9 from Jeffrey A. Law <law at redhat dot com> 2011-08-19 15:35:36 UTC ---
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 08/19/11 08:05, meissner at linux dot vnet.ibm.com wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50101
>
> --- Comment #8 from Michael Meissner <meissner at linux dot
> vnet.ibm.com> 2011-08-19 14:05:51 UTC --- On Thu, Aug 18, 2011 at
> 08:58:28AM +0000, rguenth at gcc dot gnu.org wrote:
>> Did you try pessimizing the non-ctr reg alternatives (and the
>> memory alternative even more)? Like adding ! to the non-ctr
>> alternatives and ? to the memory one? Not sure if those markers
>> are looked at by IRA though.
>
> Yes, I should have mentioned that I tried various combinations of ?,
> !, and * and the combinations I tried aborted. I've certainly
> suspected that IRA now longer looks at !, ?, and * like the previous
> register allocator did previously. It may be that it is special due
> to being a JUMP_INSN.
I wonder if we could record which allocnos correspond to outputs of
JUMP_INSNS, then in the allocno sorting code, move all of them to the
front of the list.
In effect, this makes those allocnos have higher priority for getting a
hard reg than everything else.
Thoughts?
Jeff
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iQEcBAEBAgAGBQJOToKzAAoJEBRtltQi2kC761UIAK4E0qfQ174Zakhd3JpDuLZ5
teyBgLTnoNMmO1pIdY/SgDP39PvtG9zwFoUwUDljDfZNbwVEHr2EmFgdu6RzmEAM
H6NvI40PPKvN9YIY4hkT007OWKatXU2IrXnHij0ZoEIktobLbC38vz6JHTfNDJkW
Bl9MKBeVfvMma7yzEZ2tgIXwy16SNuebHJuU6718uooMMwZ2agDWad9CsPvVGRtj
yzuvUQH3qg/ZdCfCfHKF+0hKzLe/1S4XNBt8X8Ezj582CR8irDzOngGQkagDvpTz
DXwGKDKBUjMAO3VYEw6GYWbfyxsnv1VFaXezNj/9/QpVKswvRi5vtHhii3LYzlY=
=vmEo
-----END PGP SIGNATURE-----