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

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Mon Feb 25 10:32:38 2019
New Revision: 269186

URL: https://gcc.gnu.org/viewcvs?rev=269186&root=gcc&view=rev
Log:
        PR target/89434
        * config/arm/arm.md (*subsi3_carryin_const): Use
        arm_neg_immediate_operand predicate instead of
        arm_not_immediate_operand, "L" constraint instead of "K" and
        print it using %n2 instead of %B2.
        (*subsi3_carryin_const0): New define_insn.
        (*subsi3_carryin_compare_const): Use const_int_I_operand predicate
        instead of arm_not_operand and "I" constraint instead of "K" and
        print it using %n3 instead of %B2.  Instead of using match_dup 2 add
        another match_operand and in the condition check that it is negation
        of operands[2].
        (*subsi3_carryin_compare_const0): New define_ins.
        (*subdi_di_zesidi): Adjust to use *subsi3_carryin_const0 instead of
        *subsi3_carryin_const.
        (*arm_cmpdi_insn): Fix splitting into *subsi3_carryin_compare_const,
        split into *subsi3_carryin_compare_const0 if the highpart is zero.

        * gcc.c-torture/execute/pr89434.c: New test.

Added:
    trunk/gcc/testsuite/gcc.c-torture/execute/pr89434.c
    trunk/gcc/testsuite/gcc.dg/pr89434.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/arm/arm.md
    trunk/gcc/testsuite/ChangeLog

Reply via email to