bmahjour added inline comments.

================
Comment at: clang/lib/Headers/altivec.h:17337
 static __inline__ vector long long __ATTRS_o_ai
 vec_vbpermq(vector unsigned char __a, vector unsigned char __b) {
   return __builtin_altivec_vbpermq(__a, __b);
----------------
lei wrote:
> bmahjour wrote:
> > This should be guarded under P8. It would also be good to add a 
> > `vec_vbpermd(vector unsigned long long ...)` counter part under 
> > `__POWER9_VECTOR__` for consistency.
> I think this is actually guarded under ` __POWER8_VECTOR__`.  See line 17237.
> As far as I can see, there is no LLVM intrinsic corresponding to vbpermd.
> I think this is actually guarded under  __POWER8_VECTOR__. See line 17237.

You are right. I missed that.

> As far as I can see, there is no LLVM intrinsic corresponding to vbpermd.

`__builtin_altivec_vbpermd` is being called on line 17356...not sure if it 
corresponds to an IR intrinsic or not, but regardless we have `vec_vbpermq` in 
this header but not `vec_vbpermd`. That seems inconsistent to me.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D107899/new/

https://reviews.llvm.org/D107899

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to