https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112822
--- Comment #10 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Martin Jambor <jamb...@gcc.gnu.org>: https://gcc.gnu.org/g:cd7d0b4cf789264cd75ab7df5df232dc58061ed7 commit r14-6466-gcd7d0b4cf789264cd75ab7df5df232dc58061ed7 Author: Martin Jambor <mjam...@suse.cz> Date: Tue Dec 12 21:19:21 2023 +0100 SRA: Force gimple operand in an additional corner case (PR 112822) PR 112822 revealed a corner case in load_assign_lhs_subreplacements where it creates invalid gimple: an assignment where on the LHS there is a complex variable which however is not a gimple register because it has partial defs and on the right hand side there is a VIEW_CONVERT_EXPR. This patch invokes force_gimple_operand_gsi on such statements (like it already does when both sides of a generated assignment have partial definitions. gcc/ChangeLog: 2023-12-12 Martin Jambor <mjam...@suse.cz> PR tree-optimization/112822 * tree-sra.cc (load_assign_lhs_subreplacements): Invoke force_gimple_operand_gsi also when LHS has partial stores and RHS is a VIEW_CONVERT_EXPR.