[expmed] Properly account for the cost and latency of shift+add ops when synthesizing...
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>
Tue, 21 Apr 2015 12:56:39 +0000 (12:56 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Tue, 21 Apr 2015 12:56:39 +0000 (12:56 +0000)
commit35430ca0c6c34943932b111cb55475f292a0a208
tree65294ecdcc9cb98ab5d1d0b01ea428adf669115c
parent0ff093d85530159d74f77edc0da5d8bd176fe953
[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.

From-SVN: r222268
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]