===================================================================
@@ -191,7 +191,6 @@
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);
===================================================================
@@ -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"
===================================================================
@@ -9875,19 +9875,6 @@
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 @@
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: