https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103197
--- Comment #17 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-10 branch has been updated by Segher Boessenkool <seg...@gcc.gnu.org>: https://gcc.gnu.org/g:d99d74d8b1b517784e3b05b271b977eb6603121f commit r10-10948-gd99d74d8b1b517784e3b05b271b977eb6603121f 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)