[Bug target/104987] [12 Regression] Recent change causing vrp13.c regressions on several targets

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sun Apr 3 22:24:41 GMT 2022


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104987

--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jeff Law <law@gcc.gnu.org>:

https://gcc.gnu.org/g:0364465e3708249ece810ca5d65164552595538c

commit r12-7974-g0364465e3708249ece810ca5d65164552595538c
Author: Jeff Law <jeffreyalaw@gmail.com>
Date:   Sun Apr 3 18:22:13 2022 -0400

    [committed][PR target/104987] Avoid "likely" forms of bbi[n] on iq2000.

    The iq2000 port is mis-compiling its mulsi3 libgcc2 function.

    AFAICT, the iq2000 has delay slots and can use "branch-likely" forms of
conditional branches to annul-false the slot.   There's a support routine that
handles creation of the  likely form.  However, that routine is not used by the
bbi[n] instructions.

    If I manually add the likely extension to the bbi[b] instructions, the
assembler complains  After a fair amount of digging it appears that the likely
forms of bbi[n] are only supported on the IQ10 variant.

    Given this is a dead processor and has been so for a while it seems
reasonable to just disallow annul-false slots for the bbi[n] instructions
rather than try to handle them just for the IQ10 (which we don't have real
support for anyway).

    This (of course) fixes the vrp13 regression.  But it also fixes nearly a
thousand execution test failures in the testsuite (Yow!).

    gcc/
            PR target/104987
            * config/iq2000/iq2000.md (bbi): New attribute,  default to no.
            (delay slot descripts): Use different delay slot description when
            the insn as the "bbi" attribute.
            (bbi, bbin patterns): Set the bbi attribute to yes.


More information about the Gcc-bugs mailing list