From: sayle Date: Wed, 23 Feb 2005 18:20:52 +0000 (+0000) Subject: PR target/20018 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=feba5c4bb38a147cf06a4e60056ae0d7bc9cb824;p=thirdparty%2Fgcc.git PR target/20018 PR rtl-optimization/20097 * simplify-rtx.c (simplify_relational_operation_1): Avoid creating BImode SUBREGs of SImode registers which confuse the ia64 backend. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95461 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9c5af0153876..675583654ce8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2005-02-23 Roger Sayle + + PR target/20018 + PR rtl-optimization/20097 + * simplify-rtx.c (simplify_relational_operation_1): Avoid creating + BImode SUBREGs of SImode registers which confuse the ia64 backend. + 2005-02-23 David Edelsohn * t-aix43 (SHLIB_INSTALL): Create directory for shared library. diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c index b7132ed2fb77..a2cd612f92d5 100644 --- a/gcc/simplify-rtx.c +++ b/gcc/simplify-rtx.c @@ -2887,6 +2887,8 @@ simplify_relational_operation_1 (enum rtx_code code, enum machine_mode mode, && op1 == const0_rtx && GET_MODE_CLASS (mode) == MODE_INT && cmp_mode != VOIDmode + /* ??? Work-around BImode bugs in the ia64 backend. */ + && mode != BImode && cmp_mode != BImode && nonzero_bits (op0, cmp_mode) == 1 && STORE_FLAG_VALUE == 1)