This patchset improves zero extend costs and code generation.
commit9b820efefdd7b3ed5ec5cc54cd93abbf7a3c53a9
authorwilco <wilco@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 28 Jul 2016 14:29:28 +0000 (28 14:29 +0000)
committerwilco <wilco@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 28 Jul 2016 14:29:28 +0000 (28 14:29 +0000)
treef82b0fcf97f2cdf5376d6c3f63001934b8c4a480
parent4d73e6c75bd22ea7a12e2afb8eeca9ac78674437
This patchset improves zero extend costs and code generation.

When zero extending a 32-bit register, we emit a "mov", but currently
report the cost of the "mov" incorrectly.

In terms of speed, we currently say the cost is that of an extend
operation. But the cost of a "mov" is the cost of 1 instruction, so fix
that.

In terms of size, we currently say that the "mov" takes 0 instructions.
Fix it by changing it to 1.

Bootstrapped and tested on aarch64-none-elf.

    gcc/
* config/aarch64/aarch64.c (aarch64_rtx_costs): Fix cost of zero extend.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238820 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/aarch64/aarch64.c