[Bug rtl-optimization/53533] [4.7/4.8 regression] vectorization causes loop unrolling test slowdown as measured by Adobe's C++Benchmark
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Jun 13 09:44:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53533
--- Comment #13 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-06-13 09:43:15 UTC ---
(In reply to comment #12)
> (In reply to comment #10)
> > But maybe allowing const_vector in (some of) the define_insn_and_split would
> > be the way to go ...
>
> Maybe. It certainly would ease some of the simplifications.
> At the moment I don't think we can go from
>
> mem -> const -> simplify -> const ->newmem
>
> On the other hand, for this particular test case, where all
> of the vector_cst elements are the same, and a reasonably
> small number of bits set, it would be great to be able to
> leverage synth_mult.
I agree, though that should possibly be done earlier.
> The main complexity for sse2_mulv4si3 is due to the fact that
> we have to decompose the operation into V8HImode multiplies.
> Whereas if we decompose the multiply, we have the shifts and
> adds in V4SImode.
Well, for a constant multiplier one can avoid the shuffles of the
multiplier - we seem to use v2si -> v2di multiplies with sse2_mulv4si3.
More information about the Gcc-bugs
mailing list