constraints.md: For each W* constraint...
authorDJ Delorie <dj@redhat.com>
Tue, 17 Sep 2013 21:00:59 +0000 (17:00 -0400)
committerDJ Delorie <dj@gcc.gnu.org>
Tue, 17 Sep 2013 21:00:59 +0000 (17:00 -0400)
commit2e7c3f214d24739ffc7039a884167a47a36f5352
treeaf3806e18b02ddc8be01b2dade06dd0e006ea385
parent5c26a69a2a9a4c4c6280e7d21d6e48f64b11cf75
constraints.md: For each W* constraint...

* config/rl78/constraints.md: For each W* constraint, rename to C*
and create a W* constraint that checks for an optional ES: prefix
pattern also.
* config/rl78/rl78.md (UNS_ES_ADDR): New.
(es_addr): New.  Used to wrap far addresses.
* config/rl78/rl78-protos.h (rl78_es_addr): New.
(rl78_es_base): New.
* config/rl78/rl78.c (rl78_as_legitimate_address): Accept "unspec"
wrapped far addresses.
(rl78_print_operand_1): Unwrap far addresses before processing.
(rl78_lo16): Wrap far addresses in unspecs.
(rl78_es_addr): New.
(rl78_es_base): New.
(insn_ok_now): Check for not-yet-wrapped far addresses.
(transcode_memory_rtx): Properly re-wrap far addresses.

From-SVN: r202666
gcc/ChangeLog
gcc/config/rl78/constraints.md
gcc/config/rl78/rl78-protos.h
gcc/config/rl78/rl78.c
gcc/config/rl78/rl78.md