https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72738

--- Comment #3 from Jeffrey Walton <noloader at gmail dot com> ---
(In reply to Jeffrey Walton from comment #2)
> (In reply to James Greenhalgh from comment #1)
> > Testcase needs a #include <stdbool.h> to compile, but otherwise confirmed
> > from GCC 4.9 through to trunk.
> > 
> > Note that it isn't immediately clear that this is valid code - operations on
> > poly128_t other than vreinterpret, vldrq, and vstrq are not defined by ACLE,
> > so the equality/inequality operators have no defined meaning (though ICEing
> > is still not correct).

Here's the reason for the dodgy-ness. Its a LeMaker HiKey, ARMv8/Aarch64
running Linaro with Debian/Linaro 4.9.2-10:

    $ grep -IR vreinterpretq_u64_p128 /usr/lib/gcc
    $

Its missing some of the vreinterpret_*_p intrinsics, like
vreinterpretq_u64_p128.

*****

$ find /usr/lib -name 'arm_neon.h'
/usr/lib/gcc/aarch64-linux-gnu/4.9/include/arm_neon.h
/usr/lib/llvm-3.5/lib/clang/3.5.0/include/arm_neon.h
$ find /usr/lib -name 'arm_acle.h'
/usr/lib/gcc/aarch64-linux-gnu/4.9/include/arm_acle.h
/usr/lib/llvm-3.5/lib/clang/3.5.0/include/arm_acle.h

And:

$ grep p128 /usr/lib/gcc/aarch64-linux-gnu/4.9/include/arm_acle.h
$ grep p128 /usr/lib/gcc/aarch64-linux-gnu/4.9/include/arm_neon.h
$ grep p64 /usr/lib/gcc/aarch64-linux-gnu/4.9/include/arm_acle.h
$ grep p64 /usr/lib/gcc/aarch64-linux-gnu/4.9/include/arm_neon.h
vmull_p64 (poly64_t a, poly64_t b)
vmull_high_p64 (poly64x2_t a, poly64x2_t b)
$

Reply via email to