[Bug bootstrap/69709] [6 Regression] profiled bootstrap error on s390x-linux-gnu with r233194
rth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Feb 26 00:16:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69709
Richard Henderson <rth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rth at gcc dot gnu.org
--- Comment #11 from Richard Henderson <rth at gcc dot gnu.org> ---
Ho hum. I've been looking at this this afternoon too.
Just to be sure we're on the same page, it's the insv
splitters not handling overlapping inputs.
diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md
index 2c90eae..a3f3f0a 100644
--- a/gcc/config/s390/s390.md
+++ b/gcc/config/s390/s390.md
@@ -3883,6 +3883,12 @@
(ashift:GPR (match_dup 3) (match_dup 4))))]
{
operands[5] = GEN_INT ((1UL << UINTVAL (operands[4])) - 1);
+ if (rtx_equal_p (operands[0], operands[3]))
+ {
+ if (!can_create_pseudo_p ())
+ FAIL;
+ operands[3] = copy_to_reg (operands[3]);
+ }
})
(define_split
@@ -3903,6 +3909,12 @@
(clobber (reg:CC CC_REGNUM))])]
{
operands[5] = GEN_INT ((1UL << UINTVAL (operands[4])) - 1);
+ if (rtx_equal_p (operands[0], operands[3]))
+ {
+ if (!can_create_pseudo_p ())
+ FAIL;
+ operands[3] = copy_to_reg (operands[3]);
+ }
})
(define_insn "*r<noxa>sbg_<mode>_noshift"
More information about the Gcc-bugs
mailing list