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-