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