https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92488
--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Peter Bergner <berg...@gcc.gnu.org>: https://gcc.gnu.org/g:8a8c2573568aa17ada6163f90991701bc4470976 commit r11-2206-g8a8c2573568aa17ada6163f90991701bc4470976 Author: Peter Bergner <berg...@linux.ibm.com> Date: Fri Jul 17 21:06:30 2020 -0500 rs6000: Generate _Decimal128 to _Decimal32 hardware conversion instructions We do not currently generate hardware conversion instructions when converting from _Decimal128 to _Decimal32. There is no one instruction that does the conversion, so we currently call the __dpd_trunctdsd2 lib function to do the conversion for us. However, there is a short sequence of dfp hardware instructions that will do the conversion correctly. 2020-07-17 Peter Bergner <berg...@linux.ibm.com> gcc/ PR target/92488 * config/rs6000/dfp.md (trunctdsd2): New define_insn. * config/rs6000/rs6000.md (define_attr "isa"): Add p9. (define_attr "enabled"): Handle p9. gcc/testsuite/ PR target/92488 * gcc.target/powerpc/convert-fp-128.c (bl, drsp, drdpq): Update counts. (__dpd_trunctdsd2): Make conditional on !hard_dfp. (__dpd_extendsddd2, __dpd_extendsdtd2, __dpd_truncddsd2, __dpd_extendddtd2, __dpd_trunctddd2): Use !hard_dfp. * gcc.target/powerpc/pr92488.c: New test.