This is the mail archive of the gcc@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: ARM Neon Tests Failing on non-Neon Target


On 04/29/2010 06:06 PM, Joseph S. Myers wrote:
On Thu, 29 Apr 2010, Joel Sherrill wrote:

Hi,

I am looking at the arm-rtems test results for the
trunk and noticing that most failures appear to be
for neon tests.

[joel@rtbf64a gcc]$ grep ^FAIL gcc.log.sent  | wc -l
2203
[joel@rtbf64a gcc]$ grep ^FAIL gcc.log.sent | grep /neon/  | wc -l
1986

http://gcc.gnu.org/ml/gcc-testresults/2010-04/msg02780.html

I see that there is an arm_neon_ok check in lib/target-supports.exp
but it only checks that neon code compiles. It will compile but the
target can't run it.
The vast bulk of NEON tests are compilation-only tests, not execution only
tests.  Since your failures are generally "test for excess errors" and
"internal compiler error", that indicates compilation failures that are
nothing to do with whether your target can run the code; you need to
investigate the actual errors seen.

This is fairly typical.

FAIL: gcc.target/arm/neon/vzips8.c (test for excess errors)
Excess errors:
vzips8.s:13: Error: selected processor does not support `fldd d17,[fp,#-40]'
vzips8.s:14: Error: selected processor does not support `fldd d16,[fp,#-48]'
vzips8.s:15: Error: selected processor does not support `fstd d17,[fp,#-8]'
vzips8.s:16: Error: selected processor does not support `fstd d16,[fp,#-16]'
vzips8.s:18: Error: selected processor does not support `fldd d16,[fp,#-8]'
vzips8.s:19: Error: selected processor does not support `fldd d17,[fp,#-16]'
vzips8.s:20: Error: selected processor does not support `vmov d18,d16'
vzips8.s:21: Error: selected processor does not support `vmov d19,d17'
vzips8.s:22: Error: bad instruction `vzip.8 d18,d19'
vzips8.s:23: Error: selected processor does not support `vmov d16,d19'
vzips8.s:24: Error: selected processor does not support `vmov d17,d18'
vzips8.s:25: Error: selected processor does not support `fstd d17,[r3,#0]'
vzips8.s:26: Error: selected processor does not support `fstd d16,[r3,#8]'

Would it be better for the arm_neon_ok check to actually put
in an asm for a NEON instruction so it will fail compilation?
I recall us having to do that in a similar situation on another
architecture.

The root is that we have CPU model CFLAGS which apparently
conflict with neon for this board.  So it would be better to make
it fail in arm_neon_ok on a compilation error.

It looks like arm-rtems may not be an EABI target.  NEON has probably not
been tested much if at all for non-EABI targets.

I am getting the not so subtle feeling that we need to move
to arm-eabi. :)
Vectorization tests will already test whether NEON code can be executed on
the target before trying to execute it.  The arm_neon_hw effective-target
serves that purpose for tests that genuinely need to execute NEON code.

OK.


-- Joel Sherrill, Ph.D. Director of Research& Development joel.sherrill@OARcorp.com On-Line Applications Research Ask me about RTEMS: a free RTOS Huntsville AL 35805 Support Available (256) 722-9985



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