[combine] Don't transform sign and zero extends inside mults
authorKyrylo Tkachov <ktkachov@gcc.gnu.org>
Fri, 13 Nov 2015 15:12:26 +0000 (15:12 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Fri, 13 Nov 2015 15:12:26 +0000 (15:12 +0000)
commite5b2900e37366b5da63c85c2005e33158817bd60
tree293f945582a8472048901e812fed95ac9e080b60
parentdd3c1b14afa954856789c4cb955dec474d799edd
[combine] Don't transform sign and zero extends inside mults

2015-11-13  Segher Boessenkool  <segher@kernel.crashing.org>
            Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

        * combine.c (subst): Don't substitute or simplify when
        handling register-wise widening multiply.
        (force_to_mode): Likewise.

        * gcc.target/aarch64/umaddl_combine_1.c: New test.

From-SVN: r230326
gcc/ChangeLog
gcc/combine.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/aarch64/umaddl_combine_1.c [new file with mode: 0644]