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.

Reply via email to