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 0/4][ARM Intrinsics][RFTesting] Add missing float16x8_t type, and float16x[48] intrinsics


Thanks, Christophe - that's helpful, I'm getting a few tests working now.

Ramana/Richard, any thoughts on which way you'd like to add the float16 tests, with preprocessor directives (I believe the relevant is #if __ARM_FP & 2) or in separate files=Dejagnu testcases?

Thanks, Alan

Christophe Lyon wrote:
On 16 January 2015 at 18:22, Alan Lawrence <alan.lawrence@arm.com> wrote:
These add all the V[48]HFmode insns and corresponding intrinsics for ARM.
Depends on the two patches at
https://gcc.gnu.org/ml/gcc-patches/2015-01/msg01422.html .

Unfortunately I don't at present have a testsuite. I've done some testing
both manually and on a large internal testsuite for Neon/ACLE intrinsics,
but I'm wondering if anyone has anything they might be able to contribute?
Christophe, perhaps you can give me some pointers, how might one add float16
to the advsimd-intrinsics testsuite / how easy would this be?

I don't expect this to be difficult.
I have some support already in my testsuite at
https://gitorious.org/arm-neon-tests
For instance, if you look at ref_vld1.c, you'll that GCC's vld1.c test
needs to have something like:
#if defined(__ARM_FP16_FORMAT_IEEE)
  DECL_VARIABLE(vector, float, 16, 4);
  DECL_VARIABLE(vector, float, 16, 8);
#endif
...
#if defined(__ARM_FP16_FORMAT_IEEE)
  TEST_VLD1(vector, buffer, , float, f, 16, 4);
  TEST_VLD1(vector, buffer, q, float, f, 16, 8);
#endif

as well as a similar fragment with the expected results.

I didn't add it yet because I was waiting for the support in GCC to be
complete :-)
I discussed this briefly with Ramana when I started contributing my tests.

However, it might be better to add such tests in a dedicated file
(e.g. vld1-fp16.c)
protected by some dejagnu directive to check that the effective target
does support fp16, and without the #ifdef.


Cross-tested check-gcc on arm-none-eabi
Bootstrapped on arm-none-linux-gnueabihf cortex-a15


Christophe.




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