https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104581

--- Comment #10 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>:

https://gcc.gnu.org/g:fe79d652c96b53384ddfa43e312cb0010251391b

commit r12-7293-gfe79d652c96b53384ddfa43e312cb0010251391b
Author: Richard Biener <rguent...@suse.de>
Date:   Thu Feb 17 14:40:16 2022 +0100

    target/104581 - compile-time regression in mode-switching

    The x86 backend piggy-backs on mode-switching for insertion of
    vzeroupper.  A recent improvement there was implemented in a way
    to walk possibly the whole basic-block for all DF reg def definitions
    in its mode_needed hook which is called for each instruction in
    a basic-block during mode-switching local analysis.

    The following mostly reverts this improvement.  It needs to be
    re-done in a way more consistent with a local dataflow which
    probably means making targets aware of the state of the local
    dataflow analysis.

    2022-02-17  Richard Biener  <rguent...@suse.de>

            PR target/104581
            * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
            (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
            of calling ix86_avx_u128_mode_source which would eventually
            have returned AVX_U128_ANY in some very special case.

            * gcc.target/i386/pr101456-1.c: XFAIL.

Reply via email to