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)]


> >
> Not sure if Kyrill actually meant to comment about the three lines above, but
> they have a bug:
> #if should be before #pragma GCC push_options.
> 
> Indeed, after this patch was committed (r255064), I've noticed many
> regressions, for instance
> p64_p128 is now unsupported. This is because the arm_crypto_ok effective
> target now fails with this message:
> XXX/arm_neon.h:16911:1: error: inlining failed in call to always_inline
> 'vaeseq_u8': target specific option mismatch
> 
> Not sure why this wasn't noticed in validations earlier?

I still have the log files for these runs:

It seems that I was comparing the log files instead of the sum files, which do not show this difference.

/d/t/g/s/gcc (dot-product-arm ↩☡=) contrib/dg-cmp-results.sh -v -v "" ../../build-arm-none-eabi/results.clean/vanilla/gcc.log ../../build-arm-none-eabi/results.dotprod/vanilla/gcc.log  | grep p64_p128
/d/t/g/s/gcc (dot-product-arm ↩☡=) contrib/dg-cmp-results.sh -v -v "" ../../build-arm-none-eabi/results.clean/vanilla/gcc.sum ../../build-arm-none-eabi/results.dotprod/vanilla/gcc.sum  | grep p64_p128
NA->UNSUPPORTED: gcc.target/aarch64/advsimd-intrinsics/p64_p128.c   -O0 
PASS->NA: gcc.target/aarch64/advsimd-intrinsics/p64_p128.c   -O0  execution test
PASS->NA: gcc.target/aarch64/advsimd-intrinsics/p64_p128.c   -O0  (test for excess errors)
NA->UNSUPPORTED: gcc.target/aarch64/advsimd-intrinsics/p64_p128.c   -O1 
PASS->NA: gcc.target/aarch64/advsimd-intrinsics/p64_p128.c   -O1  execution test
PASS->NA: gcc.target/aarch64/advsimd-intrinsics/p64_p128.c   -O1  (test for excess errors)
NA->UNSUPPORTED: gcc.target/aarch64/advsimd-intrinsics/p64_p128.c   -O2

Sorry for missing this, I don't even know why these scripts accept the log files if they're always going to do the wrong thing.

Anyway thanks for fixing this and I'll make sure I'm using the sum files in the future.

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]