------- Comment #4 from krebbel1 at de dot ibm dot com 2006-05-03 08:25 ------- The similar problem occurs on s390x: http://gcc.gnu.org/ml/gcc-patches/2006-03/msg01795.html
The problem (for ia64 and s390x) is fixed on mainline by: http://gcc.gnu.org/ml/gcc-patches/2006-04/msg00697.html which unfortunately revealed a problem with paradoxical subregs on big endian machines which is fixed by: http://gcc.gnu.org/ml/gcc-patches/2006-04/msg00951.html (I've added the PR numbers to the changelog entries afterwards, so the patches aren't mentioned here automatically.) For gcc 4.1 I've proposed the following trivial patch, in case the others are considered to risky for gcc 4.1: Index: gcc/ifcvt.c =================================================================== *** gcc/ifcvt.c.orig 2006-03-31 17:03:27.000000000 +0200 --- gcc/ifcvt.c 2006-03-31 17:04:04.000000000 +0200 *************** noce_process_if_block (struct ce_if_bloc *** 2231,2236 **** --- 2231,2238 ---- { if (no_new_pseudos || GET_MODE (x) == BLKmode) return FALSE; + if (GET_CODE (x) == ZERO_EXTRACT) + return FALSE; x = gen_reg_rtx (GET_MODE (GET_CODE (x) == STRICT_LOW_PART ? XEXP (x, 0) : x)); } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14261 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]