On 5/8/2026 11:09 AM, Boudewijn van der Heide wrote:
In combine_simplify_rtx, CLOBBER can be returned, which is propagated to
make_compound_operation.
When make_compound_operation_int then calls simplify_subreg, it triggers a
gcc_assert, because the mode is neither inner, nor void. This results in
an ICE.

We fix this by checking if we got CLOBBER before calling simplify_subreg
from make_compound_operation and bail out; we return NULL_RTX.

Testcase from the bug report by Zhendong Su.

Bootstrapped and tested on x86_64-linux-gnu.

        PR rtl-optimization/125209

2026-05-08  Boudewijn van der Heide  <[email protected]>

gcc/
        * combine.cc (make_compound_operation_int): Return NULL_RTX if we got 
CLOBBER.

gcc/testsuite/
        * gcc.dg/pr125209.c: New test.
THanks.   I've pushed this to the trunk.

jeff

Reply via email to