aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/arc/fpu.md
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/arc/fpu.md')
-rw-r--r--gcc/config/arc/fpu.md6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/config/arc/fpu.md b/gcc/config/arc/fpu.md
index 5c56f76..66a4d91 100644
--- a/gcc/config/arc/fpu.md
+++ b/gcc/config/arc/fpu.md
@@ -64,6 +64,9 @@
tmp = gen_rtx_REG (SFmode, ACCL_REGNO);
emit_move_insn (tmp, operands[3]);
operands[3] = tmp;
+ if (!register_operand (operands[1], SFmode)
+ && !register_operand (operands[2], SFmode))
+ operands[2] = force_reg (SFmode, operands[2]);
}")
(define_expand "fnmasf4"
@@ -77,6 +80,9 @@
tmp = gen_rtx_REG (SFmode, ACCL_REGNO);
emit_move_insn (tmp, operands[3]);
operands[3] = tmp;
+ if (!register_operand (operands[1], SFmode)
+ && !register_operand (operands[2], SFmode))
+ operands[2] = force_reg (SFmode, operands[2]);
}")
(define_insn "fmasf4_fpu"