i386: Expand mul<VI8_AVX2> earlier
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 27 Jun 2012 03:19:51 +0000 (03:19 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 27 Jun 2012 03:19:51 +0000 (03:19 +0000)
commit04c4f0455be0023a46813a848eec463e827b14f3
tree2f0f80a671b4ba2cbfaee3a36e454d7c3465a624
parente9d400597288ef54bd03ccb3f1b69dcdfebf6f5d
i386: Expand mul<VI8_AVX2> earlier

Move the expansion code to i386.c next to mulv4si3.  Eliminate
one shift by adding the highparts before shifting.  Correct costs.

        * config/i386/sse.md (mul<VI8_AVX2>3): Change from insn_and_split
        to expander; move guts to ...
        * config/i386/i386.c (ix86_expand_sse2_mulvxdi3): ... here.  Add
        highparts before shifting up.
        * config/i386/i386-protos.h: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189005 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/i386-protos.h
gcc/config/i386/i386.c
gcc/config/i386/sse.md