Commit c20ef9d2 by Andrew Burgess Committed by Joern Rennecke

constraints.md (Usd): Convert to define_constraint.

2016-04-28  Andrew Burgess  <andrew.burgess@embecosm.com>

        * config/arc/constraints.md (Usd): Convert to define_constraint.
        (Us<): Likewise.
        (Us>): Likewise.

From-SVN: r235587
parent 81262dad
2016-04-28 Andrew Burgess <andrew.burgess@embecosm.com>
* config/arc/constraints.md (Usd): Convert to define_constraint.
(Us<): Likewise.
(Us>): Likewise.
2016-04-28 Jakub Jelinek <jakub@redhat.com> 2016-04-28 Jakub Jelinek <jakub@redhat.com>
PR target/70821 PR target/70821
......
...@@ -269,11 +269,15 @@ ...@@ -269,11 +269,15 @@
(and (match_code "mem") (and (match_code "mem")
(match_test "compact_store_memory_operand (op, VOIDmode)"))) (match_test "compact_store_memory_operand (op, VOIDmode)")))
(define_memory_constraint "Usd" ; Don't use define_memory_constraint here as the relocation patching
"@internal ; for small data symbols only works within a ld/st instruction and
A valid _small-data_ memory operand for ARCompact instructions" ; define_memory_constraint may result in the address being calculated
(and (match_code "mem") ; into a register first.
(match_test "compact_sda_memory_operand (op, VOIDmode)"))) (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" (define_memory_constraint "Usc"
"@internal "@internal
...@@ -283,7 +287,7 @@ ...@@ -283,7 +287,7 @@
;; ??? the assembler rejects stores of immediates to small data. ;; ??? the assembler rejects stores of immediates to small data.
(match_test "!compact_sda_memory_operand (op, VOIDmode)"))) (match_test "!compact_sda_memory_operand (op, VOIDmode)")))
(define_memory_constraint "Us<" (define_constraint "Us<"
"@internal "@internal
Stack pre-decrement" Stack pre-decrement"
(and (match_code "mem") (and (match_code "mem")
...@@ -291,7 +295,7 @@ ...@@ -291,7 +295,7 @@
(match_test "REG_P (XEXP (XEXP (op, 0), 0))") (match_test "REG_P (XEXP (XEXP (op, 0), 0))")
(match_test "REGNO (XEXP (XEXP (op, 0), 0)) == SP_REG"))) (match_test "REGNO (XEXP (XEXP (op, 0), 0)) == SP_REG")))
(define_memory_constraint "Us>" (define_constraint "Us>"
"@internal "@internal
Stack post-increment" Stack post-increment"
(and (match_code "mem") (and (match_code "mem")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment