From f50e5fcc32825c186ed32dbdf35dbf03c0fd0bcf Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Fri, 27 Mar 2015 12:50:01 +0000 Subject: [PATCH] Fix c6x-uclinux build failure. * config/c6x/constraints.md (S3): New constraint. * config/c6x/c6x.md (real_jump): Use it. From-SVN: r221731 --- gcc/ChangeLog | 6 ++++++ gcc/config/c6x/c6x.md | 2 +- gcc/config/c6x/constraints.md | 5 +++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5cee0a5c9c6..8e4b6c18055 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2015-03-27 Bernd Schmidt + + PR target/65052 + * config/c6x/constraints.md (S3): New constraint. + * config/c6x/c6x.md (real_jump): Use it. + 2015-03-26 Jan Hubicka PR middle-end/65595 diff --git a/gcc/config/c6x/c6x.md b/gcc/config/c6x/c6x.md index 892aac4d8b2..fafefa6eca2 100644 --- a/gcc/config/c6x/c6x.md +++ b/gcc/config/c6x/c6x.md @@ -1519,7 +1519,7 @@ ;; ------------------------------------------------------------------------- (define_insn "real_jump" - [(unspec [(match_operand 0 "c6x_jump_operand" "a,b,s") (const_int 0)] + [(unspec [(match_operand 0 "c6x_jump_operand" "a,b,S3") (const_int 0)] UNSPEC_REAL_JUMP)] "" { diff --git a/gcc/config/c6x/constraints.md b/gcc/config/c6x/constraints.md index 9d88912d641..b8cdc0e65bd 100644 --- a/gcc/config/c6x/constraints.md +++ b/gcc/config/c6x/constraints.md @@ -160,6 +160,11 @@ not C64X or higher).") Any SYMBOL_REF or LABEL_REF." (ior (match_code "symbol_ref") (match_code "label_ref"))) +(define_constraint "S3" + "Matches a symbolic integer constant, even if invalid for PIC." + (and (match_test "CONSTANT_P (op)") + (match_test "!CONST_SCALAR_INT_P (op)"))) + (define_constraint "Si" "@internal Any immediate value, unless it matches the S0 constraint." -- 2.30.2