mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-10 18:20:51 +08:00
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:
parent
105681634d
commit
ddfe2bdb13
@ -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):
|
||||
|
@ -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"
|
||||
|
@ -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);
|
||||
|
@ -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:
|
||||
|
Loading…
x
Reference in New Issue
Block a user