[PATCH] D107899: [PowerPC] Implement builtin for vbpermd

Bardia Mahjour via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 28 06:42:10 PDT 2021


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



More information about the llvm-commits mailing list