gcc/
commit076b670d63f3f04162c1218fbb34d503b3c76cd8
authorbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 Mar 2010 18:41:22 +0000 (19 18:41 +0000)
committerbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 Mar 2010 18:41:22 +0000 (19 18:41 +0000)
tree2bcf096e2c7a2d0589b6d0f349bfdd7ccaef90f5
parentd09294c0fe5126ab80ad7e249cde989241e45441
gcc/
PR target/40697
* optabs.c (avoid_expensive_constant): Use rtx_cost to find out
the cost of loading the constant rather than assuming
COSTS_N_INSNS (1).
* config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
outer code is AND, do the same tests as the andsi3 expander and
return COSTS_N_INSNS (1) if and is cheap.

testsuite/
PR target/40697
* gcc.target/arm/thumb-andsi.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157582 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/arm/arm.c
gcc/optabs.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/thumb-andsi.c [new file with mode: 0644]