gcc/ChangeLog:

        * config/csky/csky.md (untyped_call): Emit clobber for return
        registers to mark them used.
---
 gcc/config/csky/csky.md | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/gcc/config/csky/csky.md b/gcc/config/csky/csky.md
index b980d4c..f91d851 100644
--- a/gcc/config/csky/csky.md
+++ b/gcc/config/csky/csky.md
@@ -3258,6 +3258,10 @@
 
   emit_call_insn (gen_call (operands[0], const0_rtx));
 
+  for (int i = 0; i < XVECLEN (operands[2], 0); i++)
+    emit_clobber (SET_SRC (XVECEXP (operands[2], 0, i)));
+  emit_insn (gen_blockage ());
+
   for (i = 0; i < XVECLEN (operands[2], 0); i++)
     {
       rtx set = XVECEXP (operands[2], 0, i);
-- 
2.7.4

Reply via email to