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][GCC][ARM] Dot Product NEON intrinsics [Patch (3/8)]


Hi Christophe,

> 
> After your commit, I have these reports:
> http://people.linaro.org/~christophe.lyon/cross-
> validation/gcc/trunk/255064/report-build-info.html
> 
> After my commit, I have these reports:
> http://people.linaro.org/~christophe.lyon/cross-
> validation/gcc/trunk/255126/report-build-info.html
> 
> I haven't fully checked that my patch fixes all the regressions reported at
> r255064, but I don't see why my patch would introduce regressions.... So I
> think your patch is causing problems:
> * on armeb --with-fpu=neon-fp16: (the 2 "REGRESSED" entries):
>     gcc.target/arm/attr-neon3.c scan-assembler-times vld1 1 (found 2 times)
>     gcc.target/arm/neon-vfma-1.c scan-assembler vfma\\.f32[\t]+[dDqQ]
>     gcc.target/arm/neon-vfms-1.c scan-assembler vfms\\.f32[\t]+[dDqQ]
> 
> * on arm-none-linux-gnueabihf --with-cpu cortex-a5 --with-fpu vfpv3-d16-
> fp16 and armeb-none-linux-gnueabihf --with-cpu cortex-a9 --with-fpu vfpv3-
> d16-fp16 (the 2 "BIG-REGR" entries)

This patch only introduced a few neon instrinsics in arm_neon.h, and most of these files don't use the header.

gcc.dg/vect/pr65947-14.c doesn't exist in my tree so it's a relatively new test.

I will run some regressions over the weekend on an updated tree, but I can't understand how a not included header it can cause execution failures 😊
However most of those are vectorizer tests. It seems much more likely to me that vectorization is broken rather.

Thanks,
Tamar

> where a few tests fail:
> (arm-none-linux-gnueabihf cortex-a5 vfpv3-d16-fp16):
>     gcc.dg/vect/pr65947-14.c -flto -ffat-lto-objects execution test
>     gcc.dg/vect/pr65947-14.c execution test
> 
> (armeb-none-linux-gnueabihf cortex-a9 vfpv3-d16-fp16):
>   Executed from: gcc.dg/vect/vect.exp
>     gcc.dg/vect/pr51074.c -flto -ffat-lto-objects execution test
>     gcc.dg/vect/pr51074.c execution test
>     gcc.dg/vect/pr64252.c -flto -ffat-lto-objects execution test
>     gcc.dg/vect/pr65947-14.c -flto -ffat-lto-objects execution test
>     gcc.dg/vect/pr65947-14.c execution test
>     gcc.dg/vect/vect-cond-4.c -flto -ffat-lto-objects execution test
>     gcc.dg/vect/vect-nb-iter-ub-2.c execution test
>     gcc.dg/vect/vect-nb-iter-ub-3.c -flto -ffat-lto-objects execution test
>     gcc.dg/vect/vect-nb-iter-ub-3.c execution test
>     gcc.dg/vect/vect-strided-shift-1.c -flto -ffat-lto-objects execution test
>     gcc.dg/vect/vect-strided-shift-1.c execution test
>     gcc.dg/vect/vect-strided-u16-i3.c -flto -ffat-lto-objects execution test
>     gcc.dg/vect/vect-strided-u16-i3.c execution test
>   Executed from: gcc.target/arm/arm.exp
>     gcc.target/arm/attr-neon3.c scan-assembler-times vld1 1 (found 2 times)
>     gcc.target/arm/neon-vfma-1.c scan-assembler vfma\\.f32[\t]+[dDqQ]
>     gcc.target/arm/neon-vfms-1.c scan-assembler vfms\\.f32[\t]+[dDqQ]
>     gcc.target/arm/neon-vmla-1.c scan-assembler vmla\\.i32
>     gcc.target/arm/neon-vmls-1.c scan-assembler vmls\\.i32
>     gcc.target/arm/vect-copysignf.c scan-tree-dump-times vect "vectorized 1
> loops" 1 (found 0 times)
> 
> I haven't checked whether this tests were already failing before your patch,
> and are just reported as new failures because they failed to compile in the
> mean time.
> 
> Not sure I am clear :-)
> 
> Sorry for the delay and potentially hard to parse reports, I'm struggling with
> infrastructure problems.
> 
> Thanks,
> 
> Christophe
> 
> > Tamar
> >
> >>
> >> Fixed as obvious (r255126).
> >>
> >> Christophe
> >>
> >> > diff --git a/gcc/testsuite/gcc.target/arm/simd/vect-dot-qi.h
> >> > b/gcc/testsuite/gcc.target/arm/simd/vect-dot-qi.h
> >> > new file mode 100644
> >> > index
> >> >
> >>
> 0000000000000000000000000000000000000000..90b00aff95cfef96d1963be176
> >> 73
> >> > dc191cc71169
> >> > --- /dev/null
> >> > +++ b/gcc/testsuite/gcc.target/arm/simd/vect-dot-qi.h
> >> > @@ -0,0 +1,15 @@
> >> > +TYPE char X[N] __attribute__
> >> ((__aligned__(__BIGGEST_ALIGNMENT__)));
> >> > +TYPE char Y[N] __attribute__
> >> ((__aligned__(__BIGGEST_ALIGNMENT__)));
> >> > +
> >> > +__attribute__ ((noinline)) int
> >> > +foo1(int len) {
> >> > +  int i;
> >> > +  TYPE int result = 0;
> >> > +  TYPE short prod;
> >> > +
> >> > +  for (i=0; i<len; i++) {
> >> > +    prod = X[i] * Y[i];
> >> > +    result += prod;
> >> > +  }
> >> > +  return result;
> >> > +}
> >> > \ No newline at end of file
> >> >
> >> > Please add new lines at the end of the new test files.
> >> > This applies to a few more new files in this patch.
> >> >
> >> > Ok with these nits fixed.
> >> >
> >> > Thanks,
> >> > Kyrill
> >> >

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