From: Andrew Burgess Date: Thu, 28 Apr 2016 17:16:05 +0000 (+0100) Subject: constraints.md (Usd): Convert to define_constraint. X-Git-Tag: basepoints/gcc-8~7330 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c20ef9d2338e764a92374a87dc36146a2532780b;p=thirdparty%2Fgcc.git constraints.md (Usd): Convert to define_constraint. 2016-04-28 Andrew Burgess * config/arc/constraints.md (Usd): Convert to define_constraint. (Us<): Likewise. (Us>): Likewise. From-SVN: r235587 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d18013ef8a4b..0c0e1ac0177f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-04-28 Andrew Burgess + + * config/arc/constraints.md (Usd): Convert to define_constraint. + (Us<): Likewise. + (Us>): Likewise. + 2016-04-28 Jakub Jelinek PR target/70821 diff --git a/gcc/config/arc/constraints.md b/gcc/config/arc/constraints.md index 668b60a6b3a6..b6954ad9456a 100644 --- a/gcc/config/arc/constraints.md +++ b/gcc/config/arc/constraints.md @@ -269,11 +269,15 @@ (and (match_code "mem") (match_test "compact_store_memory_operand (op, VOIDmode)"))) -(define_memory_constraint "Usd" - "@internal - A valid _small-data_ memory operand for ARCompact instructions" - (and (match_code "mem") - (match_test "compact_sda_memory_operand (op, VOIDmode)"))) +; Don't use define_memory_constraint here as the relocation patching +; for small data symbols only works within a ld/st instruction and +; define_memory_constraint may result in the address being calculated +; into a register first. +(define_constraint "Usd" + "@internal + A valid _small-data_ memory operand for ARCompact instructions" + (and (match_code "mem") + (match_test "compact_sda_memory_operand (op, VOIDmode)"))) (define_memory_constraint "Usc" "@internal @@ -283,7 +287,7 @@ ;; ??? the assembler rejects stores of immediates to small data. (match_test "!compact_sda_memory_operand (op, VOIDmode)"))) -(define_memory_constraint "Us<" +(define_constraint "Us<" "@internal Stack pre-decrement" (and (match_code "mem") @@ -291,7 +295,7 @@ (match_test "REG_P (XEXP (XEXP (op, 0), 0))") (match_test "REGNO (XEXP (XEXP (op, 0), 0)) == SP_REG"))) -(define_memory_constraint "Us>" +(define_constraint "Us>" "@internal Stack post-increment" (and (match_code "mem")