http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60825

--- Comment #2 from Yufeng Zhang <yufeng at gcc dot gnu.org> ---
Apart from the parameter passing and C++ name mangling issues, there is also an
issue w.r.t. the implicit conversion between the scalar types and their
vector-type peers.  For intrinsics code to be portable, conversion between neon
intrinsics vector types and the scalar types should be done via the
corresponding vcreat and vget_lane intrinsics.  Currently, arm_neon.h has the
following typedefs:

typedef int64_t int64x1_t;
typedef double float64x1_t;
typedef uint64_t uint64x1_t;

which have unfortunately allowed variables of e.g. type int64_t and type
int64x1_t, to be interoperable.  User code replying on this mistake may
encounter compilation errors after the fix.

Reply via email to