[expmed] Properly account for the cost and latency of shift+add ops when synthesizing...
commit59699fd305e448d55b1d410420c4ab1b83420379
authorktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 21 Apr 2015 12:56:39 +0000 (21 12:56 +0000)
committerktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 21 Apr 2015 12:56:39 +0000 (21 12:56 +0000)
tree65294ecdcc9cb98ab5d1d0b01ea428adf669115c
parentfc6cc27b3f46a6f70f610ec93a1c5e68d83c933b
[expmed] Properly account for the cost and latency of shift+add ops when synthesizing mults

        * expmed.c: (synth_mult): Only assume overlapping
        shift with previous steps in alg_sub_t_m2 case.

        * gcc.target/aarch64/mult-synth_1.c: New test.
        * gcc.target/aarch64/mult-synth_2.c: Likewise.
        * gcc.target/aarch64/mult-synth_3.c: Likewise.
        * gcc.target/aarch64/mult-synth_4.c: Likewise.
        * gcc.target/aarch64/mult-synth_5.c: Likewise.
        * gcc.target/aarch64/mult-synth_6.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222268 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/expmed.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/aarch64/mult-synth_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/mult-synth_2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/mult-synth_3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/mult-synth_4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/mult-synth_5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/mult-synth_6.c [new file with mode: 0644]