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.