2000-05-11 Alexandre Oliva <aoliva@cygnus.com>
+ * config/mn10300/mn10300.c (print_operand): Print FP constants in
+ hexadecimal.
+ * config/mn10300/mn10300.md (movsf, movdf): Use the `F' constraint
+ for FP values.
+
* mklibgcc.in (EQ): Define it to an equal sign in the Makefile,
and replace any occurrences of `=' in multilib dirs with `$(EQ)'.
case DFmode:
REAL_VALUE_FROM_CONST_DOUBLE (rv, x);
REAL_VALUE_TO_TARGET_DOUBLE (rv, val);
- print_operand_address (file, GEN_INT (val[0]));
+ fprintf (file, "0x%lx", val[0]);
break;;
case SFmode:
REAL_VALUE_FROM_CONST_DOUBLE (rv, x);
REAL_VALUE_TO_TARGET_SINGLE (rv, val[0]);
- print_operand_address (file, GEN_INT (val[0]));
+ fprintf (file, "0x%lx", val[0]);
break;;
case VOIDmode:
case DImode:
case DFmode:
REAL_VALUE_FROM_CONST_DOUBLE (rv, x);
REAL_VALUE_TO_TARGET_DOUBLE (rv, val);
- print_operand_address (file, GEN_INT (val[1]));
+ fprintf (file, "0x%lx", val[1]);
break;;
case SFmode:
abort ();
REAL_VALUE_FROM_CONST_DOUBLE (rv, x);
REAL_VALUE_TO_TARGET_SINGLE (rv, val);
- print_operand_address (file, GEN_INT (val));
+ fprintf (file, "0x%lx", val);
break;
}
(define_insn ""
[(set (match_operand:SF 0 "general_operand" "=dx,ax,dx,a,daxm,dax")
- (match_operand:SF 1 "general_operand" "0,0,G,G,dax,daxim"))]
+ (match_operand:SF 1 "general_operand" "0,0,G,G,dax,daxFm"))]
"register_operand (operands[0], SFmode)
|| register_operand (operands[1], SFmode)"
"*
[(set (match_operand:DF 0 "general_operand"
"=dx,ax,dx,a,dxm,dxm,axm,axm,dx,dx,ax,ax")
(match_operand:DF 1 "general_operand"
- "0,0,G,G,dx,ax,dx,ax,dxim,axim,dxim,axim"))]
+ "0,0,G,G,dx,ax,dx,ax,dxFm,axFm,dxFm,axFm"))]
"register_operand (operands[0], DFmode)
|| register_operand (operands[1], DFmode)"
"*