+Thu Nov 27 09:32:39 1997 Richard Earnshaw (rearnsha@arm.com)
+
+ * arm.md (movsfcc): If not TARGET_HARD_FLOAT, ensure operand[3]
+ valid.
+
Wed Nov 26 13:04:46 1997 Michael Meissner <meissner@cygnus.com>
* rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
"
{
enum rtx_code code = GET_CODE (operands[1]);
- rtx ccreg = gen_compare_reg (code, arm_compare_op0, arm_compare_op1,
- arm_compare_fp);
+ rtx ccreg;
+
+ /* When compiling for SOFT_FLOAT, ensure both arms are in registers. */
+ if (! TARGET_HARD_FLOAT)
+ operands[3] = force_reg (SFmode, operands[3]);
+
+ ccreg = gen_compare_reg (code, arm_compare_op0, arm_compare_op1,
+ arm_compare_fp);
operands[1] = gen_rtx (code, VOIDmode, ccreg, const0_rtx);
}")