Bill Schmidt wschm...@linux.vnet.ibm.com writes:
Index: gcc/testsuite/gcc.target/powerpc/vsxcopy.c
===
--- gcc/testsuite/gcc.target/powerpc/vsxcopy.c(revision 0)
+++ gcc/testsuite/gcc.target/powerpc/vsxcopy.c
On Mon, 21 Apr 2014, Richard Henderson wrote:
On 04/21/2014 01:19 PM, Bill Schmidt wrote:
+ if (GET_CODE (trueop0) == VEC_SELECT
+ GET_MODE (XEXP (trueop0, 0)) == mode)
+ {
+ rtx op0_subop1 = XEXP (trueop0, 1);
+ gcc_assert (GET_CODE (op0_subop1) ==
Marc Glisse marc.gli...@inria.fr writes:
On Mon, 21 Apr 2014, Richard Henderson wrote:
On 04/21/2014 01:19 PM, Bill Schmidt wrote:
+ if (GET_CODE (trueop0) == VEC_SELECT
+ GET_MODE (XEXP (trueop0, 0)) == mode)
+ {
+ rtx op0_subop1 = XEXP (trueop0, 1);
+ gcc_assert
Hi,
Below is the revised patch addressing Richard's concerns about the
assertions. Bootstrapped and tested on
powerpc64[,le]-unknown-linux-gnu. Ok for trunk?
Thanks,
Bill
[gcc]
2014-04-22 Bill Schmidt wschm...@linux.vnet.ibm.com
* simplify-rtx.c (simplify_binary_operation_1):
On Mon, 21 Apr 2014, Bill Schmidt wrote:
Note that it would be possible to do a more general transformation here,
in which any vec_select feeding another could be replaced by a
vec_select performing the composite function of the other two. I have
not done this because I am unaware of this
Hi Marc,
Good points! I will rework the patch with your suggestions in mind.
Thanks!
Bill
On Mon, 2014-04-21 at 18:51 +0200, Marc Glisse wrote:
On Mon, 21 Apr 2014, Bill Schmidt wrote:
Note that it would be possible to do a more general transformation here,
in which any vec_select
Hi,
Here's a revised patch in response to Marc's comments. Again,
bootstrapped and tested on powerpc64[,le]-unknown-linux-gnu. Is this ok
for trunk?
Thanks,
Bill
[gcc]
2014-04-21 Bill Schmidt wschm...@linux.vnet.ibm.com
* simplify-rtx.c (simplify_binary_operation_1): Optimize
On 04/21/2014 01:19 PM, Bill Schmidt wrote:
+ if (GET_CODE (trueop0) == VEC_SELECT
+GET_MODE (XEXP (trueop0, 0)) == mode)
+ {
+ rtx op0_subop1 = XEXP (trueop0, 1);
+ gcc_assert (GET_CODE (op0_subop1) == PARALLEL);
+ gcc_assert (XVECLEN (trueop1, 0) ==
On Mon, 2014-04-21 at 13:48 -0700, Richard Henderson wrote:
On 04/21/2014 01:19 PM, Bill Schmidt wrote:
+ if (GET_CODE (trueop0) == VEC_SELECT
+ GET_MODE (XEXP (trueop0, 0)) == mode)
+ {
+ rtx op0_subop1 = XEXP (trueop0, 1);
+ gcc_assert (GET_CODE (op0_subop1) ==