This patchset improves zero extend costs and code generation.
authorKristina Martsenko <kristina.martsenko@arm.com>
Thu, 28 Jul 2016 14:29:28 +0000 (14:29 +0000)
committerWilco Dijkstra <wilco@gcc.gnu.org>
Thu, 28 Jul 2016 14:29:28 +0000 (14:29 +0000)
commitdde23f43f9b80286ebed873431d7707a800f9043
treef82b0fcf97f2cdf5376d6c3f63001934b8c4a480
parent89ac681e18c3eace27e14bf03ff028bacd37e841
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.

From-SVN: r238820
gcc/ChangeLog
gcc/config/aarch64/aarch64.c