Commit c90fb4e6 by Jim Wilson

(singlemove_string): Convert SFmode by REAL_VALUE... macros.

From-SVN: r4883
parent d667538b
...@@ -946,18 +946,15 @@ singlemove_string (operands) ...@@ -946,18 +946,15 @@ singlemove_string (operands)
return "ld %1,%0"; return "ld %1,%0";
else if (GET_CODE (operands[1]) == CONST_DOUBLE) else if (GET_CODE (operands[1]) == CONST_DOUBLE)
{ {
int i; REAL_VALUE_TYPE r;
union real_extract u; long i;
union float_extract { float f; int i; } v;
/* Must be SFmode, otherwise this doesn't make sense. */ /* Must be SFmode, otherwise this doesn't make sense. */
if (GET_MODE (operands[1]) != SFmode) if (GET_MODE (operands[1]) != SFmode)
abort (); abort ();
bcopy (&CONST_DOUBLE_LOW (operands[1]), &u, sizeof u); REAL_VALUE_FROM_CONST_DOUBLE (r, operands[1]);
v.f = REAL_VALUE_TRUNCATE (SFmode, u.d); REAL_VALUE_TO_TARGET_SINGLE (r, i);
i = v.i;
operands[1] = gen_rtx (CONST_INT, VOIDmode, i); operands[1] = gen_rtx (CONST_INT, VOIDmode, i);
if (CONST_OK_FOR_LETTER_P (i, 'I')) if (CONST_OK_FOR_LETTER_P (i, 'I'))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment