From 19f1ebc794e936ef25955c0404e6dac505e6e41e Mon Sep 17 00:00:00 2001
From: Devang Patel <dpatel@apple.com>
Date: Mon, 11 Apr 2005 12:47:44 -0700
Subject: [PATCH] rs6000.c (rs6000_emit_vector_select): Fix vector select
 operand ordering.

       * config/rs6000.c (rs6000_emit_vector_select): Fix vector select
       operand ordering.

From-SVN: r97981
---
 gcc/ChangeLog              | 5 +++++
 gcc/config/rs6000/rs6000.c | 4 +++-
 2 files changed, 8 insertions(+), 1 deletion(-)

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  <dpatel@apple.com>
+
+	* config/rs6000.c (rs6000_emit_vector_select): Fix vector select
+	operand ordering.
+	
 2005-04-11  Andrew Pinski  <pinskia@physics.uc.edu>
 
 	* 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);
-- 
GitLab