[Bug target/68416] [MPX] GCC emits a lot of redundant bndmov instructions
ienkovich at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Nov 26 11:48:00 GMT 2015
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.
More information about the Gcc-bugs
mailing list