2014-06-13 Yvan Roux <yvan.roux@linaro.org>
authoryroux <yroux@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 20 Jun 2014 08:59:14 +0000 (08:59 +0000)
committeryroux <yroux@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 20 Jun 2014 08:59:14 +0000 (08:59 +0000)
commita95c0bc336ad37d83cacb085d1972638bc1948c6
tree8a6170327fed50109608059d420ffa34a2a8fc3d
parent3332e1de7d30f06a07a2ed83cb4843d0618c0c84
2014-06-13  Yvan Roux  <yvan.roux@linaro.org>

Backport from trunk r210493, 210494, 210495, 210496, 210497, 210498,
210499, 210500, 210501, 210502, 210503, 210504, 210505, 210506, 210507,
210508, 210509, 210510, 210512, 211205, 211206.
2014-05-16  James Greenhalgh  <james.greenhalgh@arm.com>

* config/aarch64/aarch64-protos.h (scale_addr_mode_cost): New.
(cpu_addrcost_table): Use it.
* config/aarch64/aarch64.c (generic_addrcost_table): Initialize it.
(aarch64_address_cost): Rewrite using aarch64_classify_address,
move it.

2014-05-16  James Greenhalgh  <james.greenhalgh@arm.com>

* config/aarch64/aarch64.c (cortexa57_addrcost_table): New.
(cortexa57_vector_cost): Likewise.
(cortexa57_tunings): Use them.

2014-05-16  James Greenhalgh  <james.greenhalgh@arm.com>

* config/aarch64/aarch64.c (aarch64_rtx_costs_wrapper): New.
(TARGET_RTX_COSTS): Call it.

2014-05-16  James Greenhalgh  <james.greenhalgh@arm.com>
    Philipp Tomsich  <philipp.tomsich@theobroma-systems.com>

* config/aarch64/aarch64.c (aarch64_build_constant): Conditionally
emit instructions, return number of instructions which would
be emitted.
(aarch64_add_constant): Update call to aarch64_build_constant.
(aarch64_output_mi_thunk): Likewise.
(aarch64_rtx_costs): Estimate cost of a CONST_INT, cost
a CONST_DOUBLE.

2014-05-16  James Greenhalgh  <james.greenhalgh@arm.com>
    Philipp Tomsich  <philipp.tomsich@theobroma-systems.com>

* config/aarch64/aarch64.c (aarch64_strip_shift_or_extend): Rename
to...
(aarch64_strip_extend): ...this, don't strip shifts, check RTX is
well formed.
(aarch64_rtx_mult_cost): New.
(aarch64_rtx_costs): Use it, refactor as appropriate.

2014-05-16  James Greenhalgh  <james.greenhalgh@arm.com>

* config/aarch64/aarch64.c (aarch64_rtx_costs): Set default costs.

2014-05-16  James Greenhalgh  <james.greenhalgh@arm.com>
    Philip Tomsich  <philipp.tomsich@theobroma-systems.com>

* config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costing
for SET RTX.

2014-05-16  James Greenhalgh  <james.greenhalgh@arm.com>
    Philipp Tomsich  <philipp.tomsich@theobroma-systems.com>

* config/aarch64/aarch64.c (aarch64_rtx_costs): Use address
costs when costing loads and stores to memory.

2014-05-16  James Greenhalgh  <james.greenhalgh@arm.com>
    Philipp Tomsich  <philipp.tomsich@theobroma-systems.com>

* config/aarch64/aarch64.c (aarch64_rtx_costs): Improve cost for
logical operations.

2014-05-16  James Greenhalgh  <james.greenhalgh@arm.com>
    Philipp Tomsich  <philipp.tomsich@theobroma-systems.com>

* config/aarch64/aarch64.c (aarch64_rtx_costs): Cost
ZERO_EXTEND and SIGN_EXTEND better.

2014-05-16  James Greenhalgh  <james.greenhalgh@arm.com>
    Philipp Tomsich  <philipp.tomsich@theobroma-systems.com>

* config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
rotates and shifts.

2014-03-16  James Greenhalgh  <james.greenhalgh@arm.com>
    Philipp Tomsich  <philipp.tomsich@theobroma-systems.com>

* config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p): New.
(aarch64_rtx_costs): Improve costs for SIGN/ZERO_EXTRACT.

2014-05-16  James Greenhalgh  <james.greenhalgh@arm.com>
    Philipp Tomsich  <philipp.tomsich@theobroma-systems.com>

* config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
DIV/MOD.

2014-05-16  James Greenhalgh  <james.greenhalgh@arm.com>
    Philipp Tomsich  <philipp.tomsich@theobroma-systems.com>

* config/aarch64/aarch64.c (aarch64_rtx_costs): Cost comparison
operators.

2014-05-16  James Greenhalgh  <james.greenhalgh@arm.com>
    Philipp Tomsich  <philipp.tomsich@theobroma-systems.com>

* config/aarch64/aarch64.c (aarch64_rtx_costs): Cost FMA,
FLOAT_EXTEND, FLOAT_TRUNCATE, ABS, SMAX, and SMIN.

2014-05-16  James Greenhalgh  <james.greenhalgh@arm.com>
    Philipp Tomsich  <philipp.tomsich@theobroma-systems.com>

* config/aarch64/aarch64.c (aarch64_rtx_costs): Cost TRUNCATE.

2014-05-16  James Greenhalgh  <james.greenhalgh@arm.com>

* config/aarch64/aarch64.c (aarch64_rtx_costs): Cost SYMBOL_REF,
HIGH, LO_SUM.

2014-05-16  James Greenhalgh  <james.greenhalgh@arm.com>

* config/aarch64/aarch64.c (aarch64_rtx_costs): Handle the case
where we were unable to cost an RTX.

2014-05-16  James Greenhalgh  <james.greenhalgh@arm.com>

* config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Fix FNMUL case.

2014-06-03  Andrew Pinski  <apinski@cavium.com>

* config/aarch64/aarch64.c (aarch64_if_then_else_costs): New function.
(aarch64_rtx_costs): Use aarch64_if_then_else_costs.

2014-06-03  Andrew Pinski  <apinski@cavium.com>

* config/aarch64/aarch64.c (aarch64_if_then_else_costs): Allow non
comparisons for OP0.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@211843 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog.linaro
gcc/config/aarch64/aarch64-protos.h
gcc/config/aarch64/aarch64.c
gcc/testsuite/ChangeLog.linaro
gcc/testsuite/gcc.c-torture/compile/20140528-1.c [new file with mode: 0644]