Reported-by: huangcunjian <huangcunjian.hu...@alibaba-inc.com>

gcc/ChangeLog:

        * config/riscv/riscv.cc (riscv_gpr_save_operation_p): Remove
        break and fixbug for elt index.
---
 gcc/config/riscv/riscv.cc | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc
index d996965d095..fdf60a3dead 100644
--- a/gcc/config/riscv/riscv.cc
+++ b/gcc/config/riscv/riscv.cc
@@ -11581,11 +11581,10 @@ riscv_gpr_save_operation_p (rtx op)
          /* Two CLOBBER and USEs, must check the order.  */
          unsigned expect_code = i < 3 ? CLOBBER : USE;
          if (GET_CODE (elt) != expect_code
-             || !REG_P (XEXP (elt, 1))
-             || (REGNO (XEXP (elt, 1)) != gpr_save_reg_order[i]))
+             || !REG_P (XEXP (elt, 0))
+             || (REGNO (XEXP (elt, 0)) != gpr_save_reg_order[i]))
            return false;
        }
-       break;
     }
   return true;
 }
-- 
2.25.1

Reply via email to