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.

Reply via email to