On 09/19/2014 02:59 PM, James Greenhalgh wrote:
>
> Hi,
>
> After https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01615.html we error
> on the use of constraints in define_splits, define_expands and
> define_peephole2s. These are never looked at by the compiler, and so
> have no reason to be set.
>
> I expect there will be more fallout as Jan's auto-builder makes its way
> through ports I haven't tested, I'll fix those up as they come up.
>
> These are build failures, and the fixes are "obvious", but I don't know
> my way around these ports, so I'd like an explicit maintainer ack.
>
> For testing, I've just checked that the build error is resolved. In
> principal, these are not functional changes as the constraints are
> not looked at.
S/390 bootstrap fails with:
gcc/gcc/config/s390/s390.md:8397: operand 5 missing output reload
For the branch on index instruction we have a define_insn_and_split with a
single alternative
forcing a split before reload. In this pattern to my understanding the
constraints are not really
required. However, for the new checker enhancements I would apply the following
to avoid the error:
diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md
index 73ac0dc..06aaced 100644
--- a/gcc/config/s390/s390.md
+++ b/gcc/config/s390/s390.md
@@ -8405,7 +8405,7 @@
(pc)))
(set (match_operand:GPR 4 "nonimmediate_operand" "")
(plus:GPR (match_dup 1) (match_dup 2)))
- (clobber (match_scratch:GPR 5 ""))]
+ (clobber (match_scratch:GPR 5 "=d"))]
"TARGET_CPU_ZARCH"
"#"
"!reload_completed && !reload_in_progress"
-Andreas-