This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, rs6000] Fold vector logicals in GIMPLE


On Mon, May 15, 2017 at 12:24 PM, David Edelsohn <dje.gcc@gmail.com> wrote:
> On Mon, May 15, 2017 at 9:09 AM, Will Schmidt <will_schmidt@vnet.ibm.com> wrote:
>> On Sat, 2017-05-13 at 18:03 -0700, David Edelsohn wrote:
>>> On Thu, May 11, 2017 at 3:09 PM, Segher Boessenkool
>>> <segher@kernel.crashing.org> wrote:
>>> > On Thu, May 11, 2017 at 02:36:26PM -0500, Will Schmidt wrote:
>>> >> On Thu, 2017-05-11 at 14:15 -0500, Segher Boessenkool wrote:
>>> >> > Hi!
>>> >> >
>>> >> > On Thu, May 11, 2017 at 10:53:33AM -0500, Will Schmidt wrote:
>>> >> > > Add handling for early expansion of vector locical operations in gimple.
>>> >> > > Specifically: vec_and, vec_andc, vec_or, vec_xor, vec_orc, vec_nand.
>>> >> >
>>> >> > You also handle nor (except in the changelog).  But what about eqv?
>>> >>
>>> >> Right, in my excitement I lost my 'vec_nor', that one should be
>>> >> mentioned as well.
>>> >>
>>> >> vec_eqv() I have as a later patch in my series, it will be showing up
>>> >> once this first bunch are in.
>>> >
>>> > Ah cool -- fine with the changelog fix then.  Thanks!
>>>
>>> Will,
>>>
>>> All of the testcases are failing on AIX.  Most are direct fails, but
>>> some are complaining about implicit declaration of a function.
>>>
>>> I thought that we had determined the correct gcc testsuite target
>>> selectors.  Something is not correct with the new tests.
>>>
>>> The errors about undeclared function are:
>>>
>>> FAIL: gcc.target/powerpc/fold-vec-div-float.c (test for excess errors)
>>>
>>> Excess errors:
>>>
>>> /nasfarm/edelsohn/src/src/gcc/testsuite/gcc.target/powerpc/fold-vec-div-float.c:
>>>
>>> 13:10: warning: implicit declaration of function 'vec_div'; did you
>>> mean 'vec_dss'? [-Wimplicit-function-declaration]
>>> /nasfarm/edelsohn/src/src/gcc/testsuite/gcc.target/powerpc/fold-vec-div-float.c:
>>> 13:3: error: AltiVec argument passed to unprototyped function
>>>
>>> and
>>>
>>> FAIL: gcc.target/powerpc/fold-vec-div-floatdouble.c (test for excess errors)
>>>
>>> Excess errors:
>>>
>>> /nasfarm/edelsohn/src/src/gcc/testsuite/gcc.target/powerpc/fold-vec-div-floatdouble.c:10:8:
>>> error: expected '=', ',', ';', 'asm' or '__attribute__' before
>>> 'double'
>>>
>>> Would you please look into this and fix it?
>>
>> Yes.
>>
>> I've started a checkout on gcc119.  Is that the right environment I
>> should poke around in, or is there a preferred or recommended
>> alternative?
>
> That is the right environment, but it will take a long time.  You
> should be able to reason about it directly by looking at the failing
> line.

fold-vec-add-1.c expands "vector signed char"

__attribute__((altivec(vector__))) unsigned char
test6 (__attribute__((altivec(vector__))) unsigned char x,
__attribute__((altivec(vector__))) unsigned char y)
{
  return
# 43 "/nasfarm/edelsohn/src/src/gcc/testsuite/gcc.target/powerpc/fold-vec-add-1.c"
3 4
        __builtin_vec_add
# 43 "/nasfarm/edelsohn/src/src/gcc/testsuite/gcc.target/powerpc/fold-vec-add-1.c"
                (x, y);
}

but

fold-vec-div-float.c  does not expand "vector double"

vector double
test2 (vector double x, vector double y)
{
  return vec_div (x, y);
}

The fold-vec-div-float.c testcase only requires altivec

/* { dg-require-effective-target powerpc_altivec_ok } */

but float div is not an altivec feature.  The level of VSX is not
enabled on the version of AIX being tested.

The testcase selector needs to be updated for the correct feature.

Please re-check all of the recent testcases and use the correct
feature selector.

Thanks, David


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]