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

--- Comment #4 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:be59671c5624fe8bf21ddb0192e97ebdfa4db381

commit r12-6403-gbe59671c5624fe8bf21ddb0192e97ebdfa4db381
Author: Richard Biener <rguent...@suse.de>
Date:   Wed Jan 5 15:13:33 2022 +0100

    middle-end/101530 - fix shufflevector lowering

    This makes __builtin_shufflevector lowering force the result
    of the BIT_FIELD_REF lowpart operation to a temporary as to
    fulfil the IL verifier constraint that BIT_FIELD_REFs should
    be always in outermost handled component position.  Trying to
    enforce this during gimplification isn't as straight-forward
    as here where we know we're dealing with an rvalue.

    FAIL: c-c++-common/torture/builtin-shufflevector-1.c   -O0  execution test

    2022-01-05  Richard Biener  <rguent...@suse.de>

            PR middle-end/101530
    gcc/c-family/
            * c-common.c (c_build_shufflevector): Wrap the BIT_FIELD_REF
            in a TARGET_EXPR to force a temporary.

    gcc/testsuite/
            * c-c++-common/builtin-shufflevector-3.c: New testcase.

Reply via email to