https://github.com/johnplatts created https://github.com/llvm/llvm-project/pull/129923
Fixes bug in vec_pack_to_short_fp32 in clang/lib/Headers/altivec.h. Resolves issue #60822 Reviewer: @lei137 >From 0bfa20f7a2deaf61e444404f7418f4571a9d6de4 Mon Sep 17 00:00:00 2001 From: John Platts <john_pla...@hotmail.com> Date: Wed, 5 Mar 2025 13:11:15 -0600 Subject: [PATCH] Fixed vec_pack_to_short_fp32 in Clang altivec.h --- clang/lib/Headers/altivec.h | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/clang/lib/Headers/altivec.h b/clang/lib/Headers/altivec.h index 8da65055012f1..45d557238e3d9 100644 --- a/clang/lib/Headers/altivec.h +++ b/clang/lib/Headers/altivec.h @@ -7529,13 +7529,9 @@ vec_pack(vector double __a, vector double __b) { #ifdef __POWER9_VECTOR__ static __inline__ vector unsigned short __ATTRS_o_ai vec_pack_to_short_fp32(vector float __a, vector float __b) { - vector float __resa = __builtin_vsx_xvcvsphp(__a); - vector float __resb = __builtin_vsx_xvcvsphp(__b); -#ifdef __LITTLE_ENDIAN__ - return (vector unsigned short)vec_mergee(__resa, __resb); -#else - return (vector unsigned short)vec_mergeo(__resa, __resb); -#endif + vector unsigned int __resa = (vector unsigned int)__builtin_vsx_xvcvsphp(__a); + vector unsigned int __resb = (vector unsigned int)__builtin_vsx_xvcvsphp(__b); + return vec_pack(__resa, __resb); } #endif _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits