https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94274
--- Comment #4 from z.zhanghaijian at huawei dot com <z.zhanghaijian at huawei dot com> --- (In reply to Richard Biener from comment #2) > Note that with binary operations you are eventually increasing register > pressure up to a point where we need to spill so IMHO this should be only > done if both > blocks become empty after the transform. I can try to add some constraints to only do the fold when both blocks become empty after the transform. Even with this constraints, the improvements of spec2017 mentioned above can also be done, but do you think need to add a option to control this constraint to let users choose? Because the register pressure problem we worry about does not exist in most cases.