aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1995-02-24 14:51:04 -0800
committerJim Wilson <wilson@gcc.gnu.org>1995-02-24 14:51:04 -0800
commit5cca7d17787ae7c734ef08b35ad47b95416cd55f (patch)
treef9935a7479f697c3663882c2f0a962b49033799e /gcc
parent819f6d59590c2c0380d94af634d2fcc8d3007229 (diff)
downloadgcc-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.c29
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