https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93448
--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Carl Love <ca...@gcc.gnu.org>: https://gcc.gnu.org/g:14a3839c63d550957556d70e824a8293938646e6 commit r14-3550-g14a3839c63d550957556d70e824a8293938646e6 Author: Carl Love <c...@us.ibm.com> Date: Tue Aug 29 11:19:40 2023 -0400 rs6000, add overloaded DFP quantize support Add decimal floating point (DFP) quantize built-ins for both 64-bit DFP and 128-DFP operands. In each case, there is an immediate version and a variable version of the built-in. The RM value is a 2-bit constant int which specifies the rounding mode to use. For the immediate versions of the built-in, the TE field is a 5-bit constant that specifies the value of the ideal exponent for the result. The built-in specifications are: __Decimal64 builtin_dfp_quantize (_Decimal64, _Decimal64, const int RM) __Decimal64 builtin_dfp_quantize (const int TE, _Decimal64, const int RM) __Decimal128 builtin_dfp_quantize (_Decimal128, _Decimal128, const int RM) __Decimal128 builtin_dfp_quantize (const int TE, _Decimal128, const int RM) A testcase is added for the new built-in definitions. gcc/ChangeLog: * config/rs6000/dfp.md (UNSPEC_DQUAN): New unspec. (dfp_dqua_<mode>, dfp_dquai_<mode>): New define_insn. * config/rs6000/rs6000-builtins.def (__builtin_dfp_dqua, __builtin_dfp_dquai, __builtin_dfp_dquaq, __builtin_dfp_dquaqi): New buit-in definitions. * config/rs6000/rs6000-overload.def (__builtin_dfp_quantize): New overloaded definition. * doc/extend.texi: Add documentation for __builtin_dfp_quantize. gcc/testsuite/ * gcc.target/powerpc/pr93448.c: New test case. PR target/93448