https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113688
--- Comment #25 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Eric Botcazou from comment #24) > > Would it be possible to backport the VIEW_CONVERT_EXPR change? > > The VIEW_CONVERT_EXPR is preserved on the mainline thanks to the fix for PR > tree-optimization/116412: > > commit c7b76a076cb2c6ded7ae208464019b04cb0531a2 > Author: Andrew Pinski <quic_apin...@quicinc.com> > Date: Mon Aug 19 08:06:36 2024 -0700 > > match: Reject non-ssa name/min invariants in gimple_extract [PR116412] > > After the conversion for phiopt's conditional operand > to use maybe_push_res_to_seq, it was found that gimple_extract > will extract out from REALPART_EXPR/IMAGPART_EXPR/VCE and BIT_FIELD_REF, > a memory load. But that extraction was not needed as memory loads are not > simplified in match and simplify. So gimple_extract should return false > in those cases. > > gcc/ChangeLog: > * gimple-match-exports.cc (gimple_extract): Return false if op0 > was not a SSA name nor a min invariant for > REALPART_EXPR/IMAGPART_EXPR/VCE > and BIT_FIELD_REF. > > (which incidentally doesn't mention VIEW_CONVERT_EXPR). Yes it does mention VIEW_CONVERT_EXPR, VCE is the short hand I (and others) haved used for VIEW_CONVERT_EXPR. r15-3052 is scheduled to be backported as it fixes PR 118476 which I hope to get around to doing this week.