From: dpatel Date: Mon, 11 Apr 2005 19:47:44 +0000 (+0000) Subject: * config/rs6000.c (rs6000_emit_vector_select): Fix vector select X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fbccfefaa27328106bd1ff73d2e62f2640fa0e45;p=thirdparty%2Fgcc.git * config/rs6000.c (rs6000_emit_vector_select): Fix vector select operand ordering. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@97981 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5ccf583e4833..0818b493467f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-04-11 Devang Patel + + * config/rs6000.c (rs6000_emit_vector_select): Fix vector select + operand ordering. + 2005-04-11 Andrew Pinski * fold-const.c (fold_binary_op_with_conditional_arg): diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 4bbe70279f74..e3b5cfa14c69 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -10676,9 +10676,11 @@ rs6000_emit_vector_select (rtx dest, rtx op1, rtx op2, rtx mask) temp = gen_reg_rtx (dest_mode); + /* For each vector element, select op1 when mask is 1 otherwise + select op2. */ t = gen_rtx_fmt_ee (SET, VOIDmode, temp, gen_rtx_fmt_Ei (UNSPEC, dest_mode, - gen_rtvec (3, op1, op2, mask), + gen_rtvec (3, op2, op1, mask), vsel_insn_index)); emit_insn (t); emit_move_insn (dest, temp);