summaryrefslogtreecommitdiff
path: root/gcc/target.def
diff options
context:
space:
mode:
authorkkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>2014-12-19 04:43:11 +0000
committerkkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>2014-12-19 04:43:11 +0000
commit968ba45e813da996db826b2e612e3131709cb2a4 (patch)
treed3eb5c21dfd81a4058b594337113d83becb21397 /gcc/target.def
parentf44473298ed13aea41ff7dfe0d172e1fbba23c5c (diff)
downloadgcc-968ba45e813da996db826b2e612e3131709cb2a4.tar.gz
* Add TARGET_LEGITIMIZE_ADDRESS_DISPLACEMENT target macro.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218887 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/target.def')
-rw-r--r--gcc/target.def13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/target.def b/gcc/target.def
index a380381695d..6258b3a7bec 100644
--- a/gcc/target.def
+++ b/gcc/target.def
@@ -5051,6 +5051,19 @@ as SH, this hook can be used to avoid excessive spilling.",
bool, (rtx subst),
hook_bool_rtx_false)
+/* This target hook allows the backend to legitimize base plus
+ displacement addressing. */
+DEFHOOK
+(legitimize_address_displacement,
+ "A target hook which returns @code{true} if *@var{disp} is\n\
+legitimezed to valid address displacement with subtracting *@var{offset}\n\
+at memory mode @var{mode}.\n\
+The default version of this target hook returns @code{false}.\n\
+This hook will benefit machines with limited base plus displacement\n\
+addressing.",
+ bool, (rtx *disp, rtx *offset, machine_mode mode),
+ default_legitimize_address_displacement)
+
/* This target hook allows the backend to perform additional
processing while initializing for variable expansion. */
DEFHOOK