http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50374
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-09-19 12:51:59 UTC --- I've looked briefly at the http://gcc.gnu.org/ml/gcc-patches/2010-08/msg00631.html patch, it seems the UNSPEC_REDUC* is unnecessary there (only used in the expanders ending with DONE, in that case just a list of the operands is enough), and I don't see any reason for the new RTL codes either (why not just use (gt:V4SI (reg:V4SF r1) (reg:V4SF r2)) etc. in the patterns instead?). Furthermore, the floating vs. integral operands in vcond* should now be handled on the trunk (just supported on i386/x86_64, but there is no reason why it can't be added for rs6000 too). The patch unfortunately doesn't apply cleanly, am trying to resolve the rejects now.