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