From: Kazu Hirata Date: Tue, 15 Jul 2003 13:42:39 +0000 (+0000) Subject: re PR target/10795 (ICE in extract_insn, at recog.c:2188) X-Git-Tag: releases/gcc-3.4.0~4828 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5df90541c7b752e3092907b2dfd3a4e324537aaf;p=thirdparty%2Fgcc.git re PR target/10795 (ICE in extract_insn, at recog.c:2188) PR target/10795 * config/i386/i386.c (ix86_expand_carry_flag_compare): Don't swap comparison operands if doing so would generate an unrecognizable insn. From-SVN: r69407 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 38b86a7e0d16..744f15a97528 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2003-07-15 Kazu Hirata + + PR target/10795 + * config/i386/i386.c (ix86_expand_carry_flag_compare): Don't + swap comparison operands if doing so would generate an + unrecognizable insn. + 2003-07-15 Eric Botcazou PR optimization/11320 diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index e4a662286654..e314ba53c2f5 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -9383,6 +9383,11 @@ ix86_expand_carry_flag_compare (enum rtx_code code, rtx op0, rtx op1, rtx *pop) return false; code = (code == GTU ? GEU : LTU); } + else if (!nonimmediate_operand (op1, mode) + || !general_operand (op0, mode)) + /* Swapping operands in this case would generate an + unrecognizable insn. */ + return false; else { rtx tmp = op1;