--- Comment #17 from Wilco <wilco at gcc dot gnu.org> ---
(In reply to shatz from comment #16)
> I still think that effect of tree-ter is accidental and relatively
> Very similar problems with SIMD register allocation could easily happen
> without tree-ter, as demonstrated by 3 out of 4 cases of bad register
> allocation presented in this thread.
> It seems to me that the problem shall be handled in the back-end rather than
> middle-end (not sure that I got your terminology about various "ends" right).
Backends cannot fix bad scheduling/allocation/spilling. The unnecessary
register pressure is caused by the mid-end. Whether it's due to expand, ter,
vectorizer or scheduler doesn't really matter - there must be a pass that
reduces register pressure in areas where it is high.