[Bug rtl-optimization/84071] [7/8 regression] wrong elimination of zero-extension after sign-extended load
ebotcazou at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Feb 2 11:08:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84071
--- Comment #20 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> How is this any different from 32-bit operations in say MIPS? The only
> difference seems to be that MIPS sign-extends 32-bit operations to 64 bit
> while AArch64 zero-extends. If that's correct for MIPS it seems that
> WORD_REGISTER_OPERATIONS only applies to types smaller than SImode.
Interesting question. One indeed could argue that, if 64-bit MIPS defines it,
then Aarch64 could do it too since they are symmetric wrt sign/zero-extension
but I don't have a definitive answer as I don't really know the history of
WORD_REGISTER_OPERATIONS on MIPS. Maybe worth a try if this brings measurable
benefits, typically elimination of redundant 32->64 zero-extensions.
More information about the Gcc-bugs
mailing list