[PATCH 0/4][ARM Intrinsics][RFTesting] Add missing float16x8_t type, and float16x[48] intrinsics

Christophe Lyon christophe.lyon@linaro.org
Fri Jan 16 17:52:00 GMT 2015


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.



More information about the Gcc-patches mailing list