With the refurbish of ARC600' accumulator support, the mlo_operand
doesn't reflect the proper low accumulator register for the newer
ARCv2 accumulator register used by the fma instructions, replace
it with accl_operand predicate.

gcc/
xxxx-xx-xx  Claudiu Zissulescu  <claz...@synopsys.com>

        * config/arc/arc.md (fmasf4_fpu): Use accl_operand predicate.
        (fnmasf4_fpu): Likewise.
---
 gcc/config/arc/fpu.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gcc/config/arc/fpu.md b/gcc/config/arc/fpu.md
index 6729795de54..14ebd865206 100644
--- a/gcc/config/arc/fpu.md
+++ b/gcc/config/arc/fpu.md
@@ -89,7 +89,7 @@
   [(set (match_operand:SF 0 "register_operand"          "=r,r,r,r,r")
        (fma:SF (match_operand:SF 1 "nonmemory_operand" "%0,r,0,r,F")
                (match_operand:SF 2 "nonmemory_operand"  "r,r,F,F,r")
-               (match_operand:SF 3 "mlo_operand" "")))]
+               (match_operand:SF 3 "accl_operand" "")))]
   "TARGET_FP_SP_FUSED
    && (register_operand (operands[1], SFmode)
        || register_operand (operands[2], SFmode))"
@@ -104,7 +104,7 @@
   [(set (match_operand:SF 0 "register_operand"                  "=r,r,r,r,r")
        (fma:SF (neg:SF (match_operand:SF 1 "nonmemory_operand" "%0,r,0,r,F"))
                (match_operand:SF 2 "nonmemory_operand"          "r,r,F,F,r")
-               (match_operand:SF 3 "mlo_operand" "")))]
+               (match_operand:SF 3 "accl_operand" "")))]
   "TARGET_FP_SP_FUSED
    && (register_operand (operands[1], SFmode)
        || register_operand (operands[2], SFmode))"
-- 
2.24.1

Reply via email to