aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorWilco Dijkstra <wdijkstr@arm.com>2014-12-18 13:48:34 +0000
committerJiong Wang <jiwang@gcc.gnu.org>2014-12-18 13:48:34 +0000
commit26e0ff941167ba78f0052a94b79a0a347753d3e6 (patch)
treeea7f3a976fc4dbdac0b583d9ebafdb818cdfa68c /gcc
parent0b82a5a253f65400591264036266a6de4c2db6df (diff)
downloadgcc-26e0ff941167ba78f0052a94b79a0a347753d3e6.zip
gcc-26e0ff941167ba78f0052a94b79a0a347753d3e6.tar.gz
gcc-26e0ff941167ba78f0052a94b79a0a347753d3e6.tar.bz2
[AArch64] Add TARGET_MIN_DIVISIONS_FOR_RECIP_MUL
2014-12-18 Wilco Dijkstra <wilco.dijkstra@arm.com> * gcc/config/aarch64/aarch64.c (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Define. (aarch64_min_divisions_for_recip_mul): New function. From-SVN: r218866
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/aarch64/aarch64.c9
2 files changed, 15 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6bb5ec2..6d5bb44 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2014-12-18 Wilco Dijkstra <wilco.dijkstra@arm.com>
+ * gcc/config/aarch64/aarch64.c (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL):
+ Define.
+ (aarch64_min_divisions_for_recip_mul): New function.
+
+2014-12-18 Wilco Dijkstra <wilco.dijkstra@arm.com>
+
* config/aarch64/aarch64-protos.h (tune-params): Add code alignment
tuning parameters.
* gcc/config/aarch64/aarch64.c (generic_tunings): Add code alignment
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index cca53f2..2281ce9 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -472,6 +472,12 @@ static const char * const aarch64_condition_codes[] =
"hi", "ls", "ge", "lt", "gt", "le", "al", "nv"
};
+static unsigned int
+aarch64_min_divisions_for_recip_mul (enum machine_mode mode ATTRIBUTE_UNUSED)
+{
+ return 2;
+}
+
static int
aarch64_reassociation_width (unsigned opc ATTRIBUTE_UNUSED,
enum machine_mode mode)
@@ -11049,6 +11055,9 @@ aarch64_gen_adjusted_ldpstp (rtx *operands, bool load,
#undef TARGET_MEMORY_MOVE_COST
#define TARGET_MEMORY_MOVE_COST aarch64_memory_move_cost
+#undef TARGET_MIN_DIVISIONS_FOR_RECIP_MUL
+#define TARGET_MIN_DIVISIONS_FOR_RECIP_MUL aarch64_min_divisions_for_recip_mul
+
#undef TARGET_MUST_PASS_IN_STACK
#define TARGET_MUST_PASS_IN_STACK must_pass_in_stack_var_size