[Bug middle-end/71488] [6/7 Regression] Wrong code for vector comparisons with ivybridge and westmere targets

ienkovich at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Jun 15 11:51:00 GMT 2016


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71488

--- Comment #8 from Ilya Enkovich <ienkovich at gcc dot gnu.org> ---
Created attachment 38703
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38703&action=edit
Enable masks comparison using patterns

(In reply to rguenther@suse.de from comment #7)
>
> Sounds reasonable though less patterns are IMHO better (patterns should
> be only used when combining N > 1 scalar stmts to M >= 1 new scalar stmts,
> single scalar stmts can be handled in complex ways in the vectorizable_*
> functions).

This can be handled in vectorizable_comparison but it would make it much more
complex and in fact it would mean a copy of a part of vectorizable_operation
into vectorizable_comparison.

I attach a pattern variant.  I can also prepare vectorizable_comparison
enhancement variant to compare and choose.


More information about the Gcc-bugs mailing list