https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103197
--- Comment #15 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-11 branch has been updated by Segher Boessenkool <seg...@gcc.gnu.org>: https://gcc.gnu.org/g:2eb21e7349cda2885438463f045f6729a47039e8 commit r11-10207-g2eb21e7349cda2885438463f045f6729a47039e8 Author: Segher Boessenkool <seg...@kernel.crashing.org> Date: Sun Jan 2 14:08:35 2022 +0000 rs6000: Disparage lfiwzx and similar RA now chooses GEN_OR_VSX_REGS in most cases. This is great in most cases, but we often (or always?) use {l,st}{f,xs}iwzx now, which is problematic because the integer load and store insns can use cheaper addressing modes. We can fix that by putting a small penalty on the instruction alternatives for those. 2022-04-21 Segher Boessenkool <seg...@kernel.crashing.org> PR target/103197 PR target/102146 * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage the "Z" alternatives in {l,st}{f,xs}iwzx. (zero_extendhi<mode>2 for EXTHI): Ditto. (zero_extendsi<mode>2 for EXTSI): Ditto. (*movsi_internal1): Ditto. (*mov<mode>_internal1 for QHI): Ditto. (movsd_hardfloat): Ditto. (cherry picked from commit 26fa464f42622c60d6929720dd37143a21054ede)