This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/68416] [MPX] GCC emits a lot of redundant bndmov instructions
- From: "ienkovich at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 26 Nov 2015 11:48:03 +0000
- Subject: [Bug target/68416] [MPX] GCC emits a lot of redundant bndmov instructions
- Auto-submitted: auto-generated
- References: <bug-68416-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68416
--- Comment #4 from Ilya Enkovich <ienkovich at gcc dot gnu.org> ---
(In reply to Vladimir Makarov from comment #3)
> The first I thought it is a LRA inheritance bug but after more thorough
> analysis I found that the problem comes from IRA. IRA never assigns BND
> hard registers to pseudos because it never assigns BNDREGS class to pseudos.
> After some investigation I found that ALL_REGS does not contain BNDREGS.
> IRA starts with ALL_REGS and uses narrow reg class if the mode is prohibited
> for some hard registers. That is why class BNDREGS is never used for
> pseudos.
Thanks a lot for the patch! It significantly improves MPX code quality.