diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1995-02-24 14:51:04 -0800 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1995-02-24 14:51:04 -0800 |
commit | 5cca7d17787ae7c734ef08b35ad47b95416cd55f (patch) | |
tree | f9935a7479f697c3663882c2f0a962b49033799e /gcc | |
parent | 819f6d59590c2c0380d94af634d2fcc8d3007229 (diff) | |
download | gcc-5cca7d17787ae7c734ef08b35ad47b95416cd55f.zip gcc-5cca7d17787ae7c734ef08b35ad47b95416cd55f.tar.gz gcc-5cca7d17787ae7c734ef08b35ad47b95416cd55f.tar.bz2 |
(fp_literal_one, fp_literal_zero): Don't accept VOIDmode.
(i960_output_ldconst): In DFmode code, delete code to handle FP_REG_P
target. In DFmode and SFmode code, delete test for HOST_FLOAT_FORMAT
== TARGET_FLOAT_FORMAT.
From-SVN: r9067
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/i960/i960.c | 29 |
1 files changed, 4 insertions, 25 deletions
diff --git a/gcc/config/i960/i960.c b/gcc/config/i960/i960.c index 8ccbb42..a9dfd41 100644 --- a/gcc/config/i960/i960.c +++ b/gcc/config/i960/i960.c @@ -223,8 +223,7 @@ fp_literal_one (op, mode) rtx op; enum machine_mode mode; { - return (TARGET_NUMERICS && (mode == VOIDmode || mode == GET_MODE (op)) - && (op == CONST1_RTX (mode))); + return (TARGET_NUMERICS && mode == GET_MODE (op) && op == CONST1_RTX (mode)); } /* Return true if OP is a float constant of 0. */ @@ -234,8 +233,7 @@ fp_literal_zero (op, mode) rtx op; enum machine_mode mode; { - return (TARGET_NUMERICS && (mode == VOIDmode || mode == GET_MODE (op)) - && (op == CONST0_RTX (mode))); + return (TARGET_NUMERICS && mode == GET_MODE (op) && op == CONST0_RTX (mode)); } /* Return true if OP is a valid floating point literal. */ @@ -571,15 +569,9 @@ i960_output_ldconst (dst, src) { rtx first, second; - if (fp_literal_zero (src, VOIDmode)) - { - if (FP_REG_P (dst)) - return "movrl %1,%0"; - else - return "movl 0,%0"; - } + if (fp_literal_zero (src, DFmode)) + return "movl 0,%0"; -#if HOST_FLOAT_FORMAT == TARGET_FLOAT_FORMAT split_double (src, &first, &second); output_asm_insn ("# ldconst %1,%0",operands); @@ -593,11 +585,6 @@ i960_output_ldconst (dst, src) output_asm_insn (i960_output_ldconst (operands[0], operands[1]), operands); return ""; -#else - if (fp_literal_one (src, VOIDmode)) - return "movrl 0f1.0,%0"; - fatal ("inline double constants not supported on this host"); -#endif } else if (mode == TImode) { @@ -645,7 +632,6 @@ i960_output_ldconst (dst, src) } else if (mode == SFmode) { -#if HOST_FLOAT_FORMAT == TARGET_FLOAT_FORMAT REAL_VALUE_TYPE d; long value; @@ -657,13 +643,6 @@ i960_output_ldconst (dst, src) operands[1] = gen_rtx (CONST_INT, VOIDmode, value); output_asm_insn (i960_output_ldconst (operands[0], operands[1]), operands); -#else - if (fp_literal_zero (src, VOIDmode)) - return "movr 0f0.0,%0"; - if (fp_literal_one (src, VOIDmode)) - return "movr 0f1.0,%0"; - fatal ("inline float constants not supported on this host"); -#endif return ""; } else |