https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119900
--- Comment #5 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jan Hubicka <hubi...@gcc.gnu.org>: https://gcc.gnu.org/g:c85148d036d17295bb2560e10020c924c83a5d13 commit r16-358-gc85148d036d17295bb2560e10020c924c83a5d13 Author: Jan Hubicka <hubi...@ucw.cz> Date: Fri May 2 15:53:35 2025 +0200 Make ix86 cost of VEC_SELECT equivalent to SUBREG cost 1 This patch fixes regression of imagick with PGO and AVX512 where correcting size cost of SSE operations (to be 4 instead of 2 originally cut&pasted from x87) made late combine to eliminate zero registers introduced by rapd. The problem is that cost-model mistakely accounts VEC_SELECT as real instruction while it is optimized to nothing if src==dest (which is the case of these testcases). This register is used to eliminate false dependency between source and destination of int->fp conversions. While ix86_insn_cost hook already contains logic to incrase cost of the zero-extend the costs was not enough. gcc/ChangeLog: PR target/119900 * config/i386/i386.cc (ix86_can_change_mode_class): Add TODO comment. (ix86_rtx_costs): Make VEC_SELECT equivalent to SUBREG cost 1.