Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
PR rtl-opt/41833
* simplify-rtx.c (simplify_binary_operation_1): Simplify vec_select of
a vec_duplicate.
2009-11-04 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR rtl-opt/41833
* gcc.target/powerpc/altivec-33.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153906
138bc75d-0d04-0410-961f-
82ee72b054a4
+2009-11-04 Andrew Pinski <andrew_pinski@playstation.sony.com>
+ Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
+
+ PR rtl-opt/41833
+ * simplify-rtx.c (simplify_binary_operation_1): Simplify vec_select of
+ a vec_duplicate.
+
2009-11-04 Richard Guenther <rguenther@suse.de>
Rafael Avila de Espindola <espindola@google.com>
* gcc.c (process_command): Handle arguments name@offset.
-
+
2009-11-04 Harsha Jagasia <harsha.jagasia@amd.com>
Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
tmp_op, gen_rtx_PARALLEL (VOIDmode, vec));
return tmp;
}
+ if (GET_CODE (trueop0) == VEC_DUPLICATE
+ && GET_MODE (XEXP (trueop0, 0)) == mode)
+ return XEXP (trueop0, 0);
}
else
{
+2009-11-04 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR rtl-opt/41833
+ * gcc.target/powerpc/altivec-33.c: New testcase.
+
2009-11-04 Jason Merrill <jason@redhat.com>
PR c++/17365, DR 218
--- /dev/null
+/* { dg-do compile } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
+/* { dg-options "-O2 -maltivec" } */
+
+/* We should only produce one vspltw as we already splatted the value. */
+/* { dg-final { scan-assembler-times "vspltw" 1 } } */
+
+#include <altivec.h>
+
+vector float f(vector float a)
+{
+ vector float b = vec_splat (a, 2);
+ return vec_splat (b, 0);
+}
+
+