Paolo Bonzini wrote:
> Andreas Krebbel wrote:
>> Hi,
>>
>>> r145594: http://gcc.gnu.org/ml/gcc-patches/2009-03/msg00545.html (s390)
> 
> Note this patch is unrelated and only affects sync.md patterns.
> 
>> The cond-optab branch (rev. 145751) fails to bootstrap on s390x:
>>
>> /build2/gcc-condoptab/libgcc/../gcc/libgcc2.c: In function '__fixunsdfti':
>> /build2/gcc-condoptab/libgcc/../gcc/libgcc2.c:1266: internal compiler error: 
>> in prepare_cmp_insn, at optabs.c:4206
> 
> What target?  I do not have fixunsdfti here, only fixunsdf{si,di}.

Fixed like this:

Index: gcc/optabs.c
===================================================================
--- gcc/optabs.c        (branch cond-optab)
+++ gcc/optabs.c        (working copy)
@@ -4026,6 +4026,8 @@ prepare_cmp_insn (rtx x, rtx y, enum rtx
   /* Don't let both operands fail to indicate the mode.  */
   if (GET_MODE (x) == VOIDmode && GET_MODE (y) == VOIDmode)
     x = force_reg (mode, x);
+  if (mode == VOIDmode)
+    mode = GET_MODE (x) == VOIDmode ? GET_MODE (x) : GET_MODE (y);

   /* Handle all BLKmode compares.  */


... which I'll commit in a few hours to cond-optab branch.

Thanks!

Paolo

Reply via email to