aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/config/aarch64/aarch64-protos.h
diff options
context:
space:
mode:
authorDan Albert <danalbert@google.com>2015-09-08 21:20:08 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2015-09-08 21:20:08 +0000
commit3a0cddad3cd2639a22002ae5f3102441414f8012 (patch)
tree913fe33d078ab18a264a3e7abf592e154e743569 /gcc-4.9/gcc/config/aarch64/aarch64-protos.h
parentbf3ee5450810f5aea704c8d304cb60733442c40b (diff)
parent220882082b32a048e224bc678f5a3b6fe87259b7 (diff)
downloadtoolchain_gcc-3a0cddad3cd2639a22002ae5f3102441414f8012.tar.gz
toolchain_gcc-3a0cddad3cd2639a22002ae5f3102441414f8012.tar.bz2
toolchain_gcc-3a0cddad3cd2639a22002ae5f3102441414f8012.zip
Merge "[4.9] Adjust several costs for AArch64."
Diffstat (limited to 'gcc-4.9/gcc/config/aarch64/aarch64-protos.h')
-rw-r--r--gcc-4.9/gcc/config/aarch64/aarch64-protos.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/config/aarch64/aarch64-protos.h b/gcc-4.9/gcc/config/aarch64/aarch64-protos.h
index 8b0a70538..e78348ea0 100644
--- a/gcc-4.9/gcc/config/aarch64/aarch64-protos.h
+++ b/gcc-4.9/gcc/config/aarch64/aarch64-protos.h
@@ -108,9 +108,22 @@ enum aarch64_symbol_type
cost models and vectors for address cost calculations, register
move costs and memory move costs. */
+/* Scaled addressing modes can vary cost depending on the mode of the
+ value to be loaded/stored. QImode values cannot use scaled
+ addressing modes. */
+
+struct scale_addr_mode_cost
+{
+ const int hi;
+ const int si;
+ const int di;
+ const int ti;
+};
+
/* Additional cost for addresses. */
struct cpu_addrcost_table
{
+ const struct scale_addr_mode_cost addr_scale_costs;
const int pre_modify;
const int post_modify;
const int register_offset;