[RS6000] CONST_DOUBLE tidy
authorAlan Modra <amodra@gmail.com>
Thu, 29 Nov 2018 04:59:19 +0000 (15:29 +1030)
committerAlan Modra <amodra@gcc.gnu.org>
Thu, 29 Nov 2018 04:59:19 +0000 (15:29 +1030)
commit5678e339bb068c2db5087bc2e0de2473541c33b1
treede9b0e6a904db54b48f69ba6e4e0dc0055dfa989
parent8529a062e9f2b74733c3ada515e02b30380be7d6
[RS6000] CONST_DOUBLE tidy

Once upon a time CONST_DOUBLE was used to hold large integer constants
that didn't fit into a CONST_INT.  Now that CONST_INT is always at
least 64 bits, and the rs6000 backend uses CONST_WIDE_INT for larger
integers, there is no need for old code dealing with integers in
CONST_DOUBLE.  The rs6000 backend also doesn't create DImode subregs
of TFmode CONST_DOUBLE, as once we did.  This patch cleans up a few
leftovers from the past.

* config/rs6000/predicates.md (easy_fp_constant): Remove code
dealing with integers in const_double.  Assert on unexpected
modes.  Delete superfluous ABI_V4 test.
* config/rs6000/rs6000.c (rs6000_emit_move): Comment fixes.
Don't call easy_fp_constant for Pmode.
(rs6000_hash_constant): Remove code dealing with integers in
const_double.
(rs6000_legitimate_constant_p): Likewise.
(output_toc): Formatting, use CONST_DOUBLE_P.

From-SVN: r266608
gcc/ChangeLog
gcc/config/rs6000/predicates.md
gcc/config/rs6000/rs6000.c