[ARM][3/3] Expand mod by power of 2
commit62e39b06536e5378f7e2d0c99a9440784b019540
authorktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 9 Sep 2015 08:41:41 +0000 (9 08:41 +0000)
committerktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 9 Sep 2015 08:41:41 +0000 (9 08:41 +0000)
tree0c03de8ce8a7cae4d68322f00c6d68e7ced44bb1
parent5e3b2855e72224def1109ed8fbea22fe2aee3886
[ARM][3/3] Expand mod by power of 2

* config/arm/arm.md (*subsi3_compare0): Rename to...
(subsi3_compare0): ... This.
(modsi3): New define_expand.
* config/arm/arm.c (arm_new_rtx_costs, MOD case): Handle case
when operand is power of 2.

* gcc.target/aarch64/mod_2.x: New file.
* gcc.target/aarch64/mod_256.x: Likewise.
* gcc.target/arm/mod_2.c: New test.
* gcc.target/arm/mod_256.c: Likewise.
* gcc.target/aarch64/mod_2.c: Likewise.
* gcc.target/aarch64/mod_256.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227586 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/arm/arm.c
gcc/config/arm/arm.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/aarch64/mod_2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/mod_2.x [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/mod_256.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/mod_256.x [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/mod_2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/mod_256.c [new file with mode: 0644]