Summary: | gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-long.c etc. FAIL | ||
---|---|---|---|
Product: | gcc | Reporter: | Rainer Orth <ro> |
Component: | testsuite | Assignee: | Tamar Christina <tnfchris> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | tnfchris |
Priority: | P3 | ||
Version: | 12.0 | ||
Target Milestone: | 12.0 | ||
Host: | Target: | sparc-sun-solaris2.11, arm-none-linux-gnueabihf | |
Build: | Known to work: | ||
Known to fail: | Last reconfirmed: | 2021-11-04 00:00:00 | |
Attachments: | 32-bit sparc-sun-solaris2.11 bb-slp-complex-add-pattern-unsigned-long.c.175t.slp1 |
Description
Rainer Orth
2021-11-02 10:00:37 UTC
Created attachment 51721 [details]
32-bit sparc-sun-solaris2.11 bb-slp-complex-add-pattern-unsigned-long.c.175t.slp1
Thanks, yeah, SLP discovery failed for all of them. I think I should just unroll all these. The master branch has been updated by Tamar Christina <tnfchris@gcc.gnu.org>: https://gcc.gnu.org/g:5914a7b5c637c9007283226f200dcab8b745abc8 commit r12-4900-g5914a7b5c637c9007283226f200dcab8b745abc8 Author: Tamar Christina <tamar.christina@arm.com> Date: Thu Nov 4 13:43:36 2021 +0000 testsuite: Add more guards to complex tests This test hopefully fixes all the remaining target specific test issues by 1: Unrolling all add testcases by 16 using pragma GCC unroll 2. On armhf use Adv.SIMD instead of MVE to test. MVE's autovec is too incomplete to be a general test target. 3. Add appropriate vect_<type> and float<size> guards on testcases. gcc/testsuite/ChangeLog: PR testsuite/103042 * gcc.dg/vect/complex/bb-slp-complex-add-pattern-int.c: Update guards. * gcc.dg/vect/complex/bb-slp-complex-add-pattern-long.c: Likewise. * gcc.dg/vect/complex/bb-slp-complex-add-pattern-short.c: Likewise. * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-int.c: Likewise. * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-long.c: Likewise. * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-short.c: Likewise. * gcc.dg/vect/complex/complex-add-pattern-template.c: Likewise. * gcc.dg/vect/complex/complex-add-template.c: Likewise. * gcc.dg/vect/complex/complex-operations-run.c: Likewise. * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-double.c: Likewise. * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-float.c: Likewise. * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-half-float.c: Likewise. * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c: Likewise. * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-float.c: Likewise. * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-half-float.c: Likewise. * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-double.c: Likewise. * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-float.c: Likewise. * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-half-float.c: Likewise. * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-double.c: Likewise. * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-float.c: Likewise. * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-half-float.c: Likewise. * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-double.c: Likewise. * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-float.c: Likewise. * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-half-float.c: Likewise. * gcc.dg/vect/complex/fast-math-complex-add-double.c: Likewise. * gcc.dg/vect/complex/fast-math-complex-add-float.c: Likewise. * gcc.dg/vect/complex/fast-math-complex-add-half-float.c: Likewise. * gcc.dg/vect/complex/fast-math-complex-add-pattern-double.c: Likewise. * gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c: Likewise. * gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c: Likewise. * gcc.dg/vect/complex/fast-math-complex-mla-double.c: Likewise. * gcc.dg/vect/complex/fast-math-complex-mla-float.c: Likewise. * gcc.dg/vect/complex/fast-math-complex-mla-half-float.c: Likewise. * gcc.dg/vect/complex/fast-math-complex-mls-double.c: Likewise. * gcc.dg/vect/complex/fast-math-complex-mls-float.c: Likewise. * gcc.dg/vect/complex/fast-math-complex-mls-half-float.c: Likewise. * gcc.dg/vect/complex/fast-math-complex-mul-double.c: Likewise. * gcc.dg/vect/complex/fast-math-complex-mul-float.c: Likewise. * gcc.dg/vect/complex/fast-math-complex-mul-half-float.c: Likewise. * gcc.dg/vect/complex/vect-complex-add-pattern-byte.c: Likewise. * gcc.dg/vect/complex/vect-complex-add-pattern-int.c: Likewise. * gcc.dg/vect/complex/vect-complex-add-pattern-long.c: Likewise. * gcc.dg/vect/complex/vect-complex-add-pattern-short.c: Likewise. * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-byte.c: Likewise. * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-int.c: Likewise. * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c: Likewise. * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-short.c: Likewise. This should be fixed. Unfortunately not: while some tests were indeed fixed * 32-bit sparc: -FAIL: gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c scan-tree-dump slp1 "Found COMPLEX_ADD_ROT270" -FAIL: gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c scan-tree-dump slp1 "Found COMPLEX_ADD_ROT90" * 64-bit sparc: -FAIL: gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c scan-tree-dump slp1 "Found COMPLEX_ADD_ROT270" -FAIL: gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c scan-tree-dump slp1 "Found COMPLEX_ADD_ROT90" -FAIL: gcc.dg/vect/complex/vect-complex-add-pattern-long.c -flto -ffat-lto-objects scan-tree-dump vect "Found COMPLEX_ADD_ROT270" -FAIL: gcc.dg/vect/complex/vect-complex-add-pattern-long.c -flto -ffat-lto-objects scan-tree-dump vect "Found COMPLEX_ADD_ROT90" -FAIL: gcc.dg/vect/complex/vect-complex-add-pattern-long.c scan-tree-dump vect "Found COMPLEX_ADD_ROT270" -FAIL: gcc.dg/vect/complex/vect-complex-add-pattern-long.c scan-tree-dump vect "Found COMPLEX_ADD_ROT90" -FAIL: gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c -flto -ffat-lto-objects scan-tree-dump vect "Found COMPLEX_ADD_ROT270" -FAIL: gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c -flto -ffat-lto-objects scan-tree-dump vect "Found COMPLEX_ADD_ROT90" -FAIL: gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c scan-tree-dump vect "Found COMPLEX_ADD_ROT270" -FAIL: gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c scan-tree-dump vect "Found COMPLEX_ADD_ROT90" a considerable number of failures still remains: * 32-bit sparc: FAIL: gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-long.c -flto -ffat-lto-objects scan-tree-dump slp1 "Found COMPLEX_ADD_ROT270" FAIL: gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-long.c -flto -ffat-lto-objects scan-tree-dump slp1 "Found COMPLEX_ADD_ROT90" FAIL: gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-long.c scan-tree-dump slp1 "Found COMPLEX_ADD_ROT270" FAIL: gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-long.c scan-tree-dump slp1 "Found COMPLEX_ADD_ROT90" FAIL: gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c scan-tree-dump slp1 "Found COMPLEX_ADD_ROT270" FAIL: gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c scan-tree-dump slp1 "Found COMPLEX_ADD_ROT90" FAIL: gcc.dg/vect/complex/vect-complex-add-pattern-long.c -flto -ffat-lto-objects scan-tree-dump vect "Found COMPLEX_ADD_ROT270" FAIL: gcc.dg/vect/complex/vect-complex-add-pattern-long.c -flto -ffat-lto-objects scan-tree-dump vect "Found COMPLEX_ADD_ROT90" FAIL: gcc.dg/vect/complex/vect-complex-add-pattern-long.c scan-tree-dump vect "Found COMPLEX_ADD_ROT270" FAIL: gcc.dg/vect/complex/vect-complex-add-pattern-long.c scan-tree-dump vect "Found COMPLEX_ADD_ROT90" FAIL: gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c -flto -ffat-lto-objects scan-tree-dump vect "Found COMPLEX_ADD_ROT270" FAIL: gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c -flto -ffat-lto-objects scan-tree-dump vect "Found COMPLEX_ADD_ROT90" FAIL: gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c scan-tree-dump vect "Found COMPLEX_ADD_ROT270" FAIL: gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c scan-tree-dump vect "Found COMPLEX_ADD_ROT90" * 64-bit sparc: FAIL: gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c scan-tree-dump slp1 "Found COMPLEX_ADD_ROT270" FAIL: gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c scan-tree-dump slp1 "Found COMPLEX_ADD_ROT90" FAIL: gcc.dg/vect/complex/vect-complex-add-pattern-long.c -flto -ffat-lto-objects scan-tree-dump vect "Found COMPLEX_ADD_ROT270" FAIL: gcc.dg/vect/complex/vect-complex-add-pattern-long.c -flto -ffat-lto-objects scan-tree-dump vect "Found COMPLEX_ADD_ROT90" FAIL: gcc.dg/vect/complex/vect-complex-add-pattern-long.c scan-tree-dump vect "Found COMPLEX_ADD_ROT270" FAIL: gcc.dg/vect/complex/vect-complex-add-pattern-long.c scan-tree-dump vect "Found COMPLEX_ADD_ROT90" FAIL: gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c -flto -ffat-lto-objects scan-tree-dump vect "Found COMPLEX_ADD_ROT270" FAIL: gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c -flto -ffat-lto-objects scan-tree-dump vect "Found COMPLEX_ADD_ROT90" FAIL: gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c scan-tree-dump vect "Found COMPLEX_ADD_ROT270" FAIL: gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c scan-tree-dump vect "Found COMPLEX_ADD_ROT90" ok, then I don't think sparc can vectorize these cases at all through SLP, so I will just skip them. > gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c
This one running is odd, it's guarded by vect_double which doesn't match sparc-*-*-*. That should be unresolved now.
The master branch has been updated by Tamar Christina <tnfchris@gcc.gnu.org>: https://gcc.gnu.org/g:0cf6065ce4997774de66db4de83d461013e0f0e1 commit r12-5112-g0cf6065ce4997774de66db4de83d461013e0f0e1 Author: Tamar Christina <tamar.christina@arm.com> Date: Wed Nov 10 12:03:33 2021 +0000 testsuite: change vect_long to vect_long_long in complex tests. These tests are still failing on SPARC and it looks like this is because I need to use vect_long_long instead of vect_long. gcc/testsuite/ChangeLog: PR testsuite/103042 * gcc.dg/vect/complex/bb-slp-complex-add-pattern-long.c: Use vect_long_long instead of vect_long. * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-long.c: Likewise. * gcc.dg/vect/complex/vect-complex-add-pattern-long.c: Likewise. * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c: Likewise. > --- Comment #7 from Tamar Christina <tnfchris at gcc dot gnu.org> --- >> gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c > > This one running is odd, it's guarded by vect_double which doesn't match > sparc-*-*-*. That should be unresolved now. Those failures existed until 20211103 and were gone by 20211105 (UNSUPPORTED; UNRESOLVED would also be bad). > --- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> --- [...] > testsuite: change vect_long to vect_long_long in complex tests. > > These tests are still failing on SPARC and it looks like this is because I > need > to use vect_long_long instead of vect_long. Indeed: as of last night, all those tests are UNSUPPORTED on 32 and 64-bit SPARC. Thanks. Cheers thanks for confirming |