sh-protos.h (fldi_ok): Remove.

gcc/
	* config/sh/sh-protos.h (fldi_ok): Remove.
	* config/sh/sh.c (fldi_ok): Likewise.
	(sh_secondary_reload): Don't use fldi_ok.
	* config/sh/constraints.md (G constraint, H constraint): Don't use
	fldi_ok.

From-SVN: r216320
This commit is contained in:
Oleg Endo 2014-10-16 13:17:12 +00:00
parent 105681634d
commit ddfe2bdb13
4 changed files with 11 additions and 18 deletions

View File

@ -1,3 +1,11 @@
2014-10-16 Oleg Endo <olegendo@gcc.gnu.org>
* config/sh/sh-protos.h (fldi_ok): Remove.
* config/sh/sh.c (fldi_ok): Likewise.
(sh_secondary_reload): Don't use fldi_ok.
* config/sh/constraints.md (G constraint, H constraint): Don't use
fldi_ok.
2014-10-16 Martin Liska <mliska@suse.cz>
* ipa-icf.c (sem_item_optimizer::process_cong_reduction):

View File

@ -210,12 +210,12 @@
(define_constraint "G"
"Double constant 0."
(and (match_code "const_double")
(match_test "fp_zero_operand (op) && fldi_ok ()")))
(match_test "fp_zero_operand (op)")))
(define_constraint "H"
"Double constant 1."
(and (match_code "const_double")
(match_test "fp_one_operand (op) && fldi_ok ()")))
(match_test "fp_one_operand (op)")))
;; Extra constraints
(define_constraint "Q"

View File

@ -191,7 +191,6 @@ extern void sh_expand_prologue (void);
extern void sh_expand_epilogue (bool);
extern void sh_set_return_address (rtx, rtx);
extern int initial_elimination_offset (int, int);
extern bool fldi_ok (void);
extern bool sh_hard_regno_rename_ok (unsigned int, unsigned int);
extern bool sh_cfun_interrupt_handler_p (void);
extern bool sh_cfun_resbank_handler_p (void);

View File

@ -9875,19 +9875,6 @@ fp_one_operand (rtx op)
return REAL_VALUES_EQUAL (r, dconst1);
}
/* In general mode switching is used. If we are
compiling without -mfmovd, movsf_ie isn't taken into account for
mode switching. We could check in machine_dependent_reorg for
cases where we know we are in single precision mode, but there is
interface to find that out during reload, so we must avoid
choosing an fldi alternative during reload and thus failing to
allocate a scratch register for the constant loading. */
bool
fldi_ok (void)
{
return true;
}
/* Return the TLS type for TLS symbols. */
enum tls_model
tls_symbolic_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
@ -13106,8 +13093,7 @@ sh_secondary_reload (bool in_p, rtx x, reg_class_t rclass_i,
if (REGCLASS_HAS_FP_REG (rclass)
&& ! TARGET_SHMEDIA
&& immediate_operand ((x), mode)
&& ! ((fp_zero_operand (x) || fp_one_operand (x))
&& mode == SFmode && fldi_ok ()))
&& ! ((fp_zero_operand (x) || fp_one_operand (x)) && mode == SFmode))
switch (mode)
{
case SFmode: