Author: Nemanja Ivanovic Date: 2021-05-14T08:02:00-05:00 New Revision: 7cd2833311ab614775bc695e7bb808159a02e2a9
URL: https://github.com/llvm/llvm-project/commit/7cd2833311ab614775bc695e7bb808159a02e2a9 DIFF: https://github.com/llvm/llvm-project/commit/7cd2833311ab614775bc695e7bb808159a02e2a9.diff LOG: [PowerPC] Add vec_vupkhpx and vec_vupklpx for XL compatibility These are old names for these functions that XL still supports. Added: Modified: clang/lib/Headers/altivec.h clang/test/CodeGen/builtins-ppc-altivec.c Removed: ################################################################################ diff --git a/clang/lib/Headers/altivec.h b/clang/lib/Headers/altivec.h index 25c1b1de998df..dadf6b5cf75bb 100644 --- a/clang/lib/Headers/altivec.h +++ b/clang/lib/Headers/altivec.h @@ -12520,6 +12520,13 @@ vec_vrfiz(vector float __a) { /* The vector unpack instructions all have a big-endian bias, so for little endian we must reverse the meanings of "high" and "low." */ +#ifdef __LITTLE_ENDIAN__ +#define vec_vupkhpx(__a) __builtin_altivec_vupklpx((vector short)(__a)) +#define vec_vupklpx(__a) __builtin_altivec_vupkhpx((vector short)(__a)) +#else +#define vec_vupkhpx(__a) __builtin_altivec_vupkhpx((vector short)(__a)) +#define vec_vupklpx(__a) __builtin_altivec_vupklpx((vector short)(__a)) +#endif static __inline__ vector short __ATTRS_o_ai vec_unpackh(vector signed char __a) { diff --git a/clang/test/CodeGen/builtins-ppc-altivec.c b/clang/test/CodeGen/builtins-ppc-altivec.c index e7593ca9021cf..8edef9806af22 100644 --- a/clang/test/CodeGen/builtins-ppc-altivec.c +++ b/clang/test/CodeGen/builtins-ppc-altivec.c @@ -5788,6 +5788,10 @@ void test6() { res_vui = vec_unpackh(vp); // CHECK: @llvm.ppc.altivec.vupkhpx +// CHECK-LE: @llvm.ppc.altivec.vupklpx + + res_vui = vec_vupkhpx(vp); +// CHECK: @llvm.ppc.altivec.vupkhpx // CHECK-LE: @llvm.ppc.altivec.vupklpx res_vs = vec_vupkhsb(vsc); @@ -5829,6 +5833,10 @@ void test6() { res_vui = vec_unpackl(vp); // CHECK: @llvm.ppc.altivec.vupklpx +// CHECK-LE: @llvm.ppc.altivec.vupkhpx + + res_vui = vec_vupklpx(vp); +// CHECK: @llvm.ppc.altivec.vupklpx // CHECK-LE: @llvm.ppc.altivec.vupkhpx res_vs = vec_vupklsb(vsc); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits