Bill Schmidt 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(working copy)
> @@ -0,0 +1,1
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
* simplify-rtx.c (simplify_binary_operation_1): Optimize case of
nested
Marc Glisse 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 (GET_
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) == PARALLE
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_su
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) =
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
* simplify-rtx.c (simplify_binary_operation_1): Optimize case of
nested VEC_SELE
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
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 situa
Hi,
This patch adds a small RTL simplification for the case where the first
operand to a VEC_SELECT is another VEC_SELECT with an inverse selection
function. E.g.,
(vec_select:V4SF (vec_select:V4SF (OP:V4SF) (parallel [2 3 0 1]))
(parallel [2 3 0 1]))
may be simplified to (OP:V
10 matches
Mail list logo