diff options
author | Peter Bergner <bergner@linux.ibm.com> | 2020-07-17 21:06:30 -0500 |
---|---|---|
committer | Peter Bergner <bergner@linux.ibm.com> | 2020-07-17 21:11:23 -0500 |
commit | 8a8c2573568aa17ada6163f90991701bc4470976 (patch) | |
tree | 48fc8c8aa8f3469c9d424545ac2345184d52865b /gcc/fortran/check.c | |
parent | ab660b01c33ece8d73445c26ed2e7ba2471c70db (diff) | |
download | gcc-8a8c2573568aa17ada6163f90991701bc4470976.zip gcc-8a8c2573568aa17ada6163f90991701bc4470976.tar.gz gcc-8a8c2573568aa17ada6163f90991701bc4470976.tar.bz2 |
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 <bergner@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.
Diffstat (limited to 'gcc/fortran/check.c')
0 files changed, 0 insertions, 0 deletions