ahatanak added a comment. The test is failing because `float16x4_t` is defined as a vector of `__fp16` in arm_neon.h and Sema promotes vectors of `__fp16` to vectors of float since `__fp16` is a storage-only type. The test used to pass because of a bug in function `isVector`, which was fixed in the commit that was reverted.
typedef __fp16 float16_t; typedef __attribute__((neon_vector_type(4))) float16_t float16x4_t; For example, in `vneg_f16`, `__p0` is promoted to a vector of float before it's negated. __ai float16x4_t vneg_f16(float16x4_t __p0) { float16x4_t __ret; __ret = -__p0; return __ret; } Is it correct to use `__fp16` for the element type of `float16x4_t`? BRANCHES master Users: ahatanak (Author) https://reviews.llvm.org/rG825235c140e7 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits