diff mbox

[sh] Fixup use of constraints in define_split

Message ID 541C476A.1000900@linux.vnet.ibm.com
State New
Headers show

Commit Message

Andreas Krebbel Sept. 19, 2014, 3:10 p.m. UTC
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:


-Andreas-
diff mbox

Patch

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"