rs6000: Remove TARGET_FPRS

Programming / Compilers / GCC - segher [138bc75d-0d04-0410-961f-82ee72b054a4] - 7 June 2017 10:55 EDT

Since rs6000 no longer supports SPE, TARGET_FPRS now always is true.

This makes TARGET_{SF,DF}_SPE always false. Many patterns in spe.md can now be deleted; which makes it possible to merge e.g. negdd2 with
*negdd2_fpr.

Finally, e500.h is deleted (it isn't used).



- config/rs6000/darwin.md: Replace TARGET_FPRS by 1 and simplify.
- config/rs6000/dfp.md: Ditto. (negdd2, *negdd2_fpr): Merge. (absdd2, *absdd2_fpr): Merge. (negtd2, *negtd2_fpr): Merge. (abstd2, *abstd2_fpr): Merge.
- config/rs6000/e500.h: Delete file.
- config/rs6000/predicates.md (rs6000_cbranch_operator): Replace TARGET_FPRS by 1 and simplify.
- config/rs6000/rs6000-c.c: Ditto.
- config/rs6000/rs6000.c: Ditto. Also replace TARGET_SF_SPE and TARGET_DF_SPE by 0.
- config/rs6000/rs6000.h: Ditto. Delete TARGET_SF_SPE and TARGET_DF_SPE.
- config/rs6000/rs6000.md: Ditto. (floatdidf2, *floatdidf2_fpr): Merge. (move_from_CR_gt_bit): Delete.
- config/rs6000/spe.md: Replace TARGET_FPRS by 1 and simplify. (E500_CR_IOR_COMPARE): Delete. (All patterns that require !TARGET_FPRS): Delete.
- config/rs6000/vsx.md: Replace TARGET_FPRS by 1 and simplify.

df8015f rs6000: Remove TARGET_FPRS
gcc/ChangeLog | 24 ++++
gcc/config/rs6000/darwin.md | 16 +--
gcc/config/rs6000/dfp.md | 48 ++-----
gcc/config/rs6000/predicates.md | 10 +-
gcc/config/rs6000/rs6000-c.c | 14 +-
gcc/config/rs6000/rs6000.c | 297 +++++-----------------------------------
gcc/config/rs6000/rs6000.h | 38 ++---
gcc/config/rs6000/rs6000.md | 262 +++++++++++++----------------------
gcc/config/rs6000/spe.md | 170 -----------------------
gcc/config/rs6000/vsx.md | 2 +-
10 files changed, 195 insertions(+), 686 deletions(-)

Upstream: gcc.gnu.org


  • Share