[Diffusion] rG825235c140e7: Revert "[Sema] Use the canonical type in function isVector"

Akira Hatanaka via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Dec 1 22:25:42 PST 2019


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





More information about the cfe-commits mailing list