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

--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Roger Sayle <sa...@gcc.gnu.org>:

https://gcc.gnu.org/g:129feec0ba4f8ce74edf1fdf7da37b54968d3d37

commit r14-2874-g129feec0ba4f8ce74edf1fdf7da37b54968d3d37
Author: Roger Sayle <ro...@nextmovesoftware.com>
Date:   Mon Jul 31 08:08:11 2023 +0100

    [Committed] PR target/110843: Check TARGET_AVX512VL for V2DI rotates in
STV.

    This patch resolves PR target/110843, an ICE caused by my enhancement to
    support AVX512 DImode and SImode rotates in the scalar-to-vector (STV)
pass.
    Although the vprotate instructions are available on all TARGET_AVX512F
    microarchitectures, the V2DI and V4SI variants are only available on the
    TARGET_AVX512VL subset, leading to problems when command line options
    enable AVX512 (i.e. AVX512F) but not the required AVX512VL functionality.
    The simple fix is to update/correct the target checks.

    2023-07-31  Roger Sayle  <ro...@nextmovesoftware.com>

    gcc/ChangeLog
            PR target/110843
            * config/i386/i386-features.cc (compute_convert_gain): Check
            TARGET_AVX512VL (not TARGET_AVX512F) when considering V2DImode
            and V4SImode rotates in STV.
            (general_scalar_chain::convert_rotate): Likewise.

    gcc/testsuite/ChangeLog
            PR target/110843
            * gcc.target/i386/pr110843.c: New test case.

Reply via email to