On Sun, Oct 4, 2026 at 9:08 AM Max Filippov <[email protected]> wrote:
>
> The commit r17-3780-ga5da203dd959 introduced a regression that results
> in the following kind of ICE when DF mode value 0 is loaded into AR
> registers:
>
> gcc/libgcc/libgcc2.c:2746:1: error: unrecognizable insn:
> (insn 1401 775 1402 79 (set (reg:SF 12 a12)
>         (const_int 0 [0])) "gcc/libgcc/libgcc2.c":2719:8 -1
>      (nil))
> during RTL pass: split2
>
> This happens because the condition in the `move_fp_operand` that allows
> matching 0 as a constant for auto litpool has been changed from
> `CONSTANT_P` to `CONST_DOUBLE_P`, but the code that splits DF mode
> constant 0 produces const_int.
>
> gcc/
>         * config/xtensa/predicates.md (move_fp_operand): Use CONSTANT_P
>         instead of CONST_DOUBLE_P.
> ---
>  gcc/config/xtensa/predicates.md | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Regtested for target=xtensa-linux-uclibc, no new regressions.
Committed to master.

-- 
Thanks.
-- Max

Reply via email to