aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorGeng Qi <gengqi@linux.alibaba.com>2021-04-30 21:02:37 +0800
committerXianmiao Qu <xianmiao_qu@c-sky.com>2021-05-26 14:36:39 +0800
commit155d3038c23002581eb29d59ea23e44b3758c6dc (patch)
treee5fc8fcdd1dba9998370e19303ef567199f57d0f /gcc
parent94079e642d95ba4bcb75354d6cd628a473a94479 (diff)
downloadgcc-155d3038c23002581eb29d59ea23e44b3758c6dc.zip
gcc-155d3038c23002581eb29d59ea23e44b3758c6dc.tar.gz
gcc-155d3038c23002581eb29d59ea23e44b3758c6dc.tar.bz2
C-SKY: Fix FAIL of gcc.dg/torture/stackalign/builtin-return-2.c.
gcc/ChangeLog: * config/csky/csky.md (untyped_call): Emit clobber for return registers to mark them used.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/csky/csky.md4
1 files changed, 4 insertions, 0 deletions
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);