Bug 56531 - SLP load permutations cannot share the load between and inside SLP instances
Summary: SLP load permutations cannot share the load between and inside SLP instances
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: tree-optimization (show other bugs)
Version: 4.8.0
: P3 normal
Target Milestone: 15.0
Assignee: Richard Biener
URL:
Keywords: missed-optimization, wrong-code
Depends on:
Blocks: vectorizer 56270
  Show dependency treegraph
 
Reported: 2013-03-05 09:52 UTC by Richard Biener
Modified: 2025-02-18 13:08 UTC (History)
0 users

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2013-03-05 00:00:00


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Richard Biener 2013-03-05 09:52:28 UTC
SLP load permutations are currently severely restricted (only 000..111... is
supported) and they do not share the load (ICE before the fix for PR56270).
This is because vinfo->vectorized_stmt of the underlying group load includes
the very first permutation of the very first SLP instance.

The fix here is to make vinfo->vectorized_stmt the group load itself and
hook in the permutation only on the consumer.
Comment 1 Richard Biener 2013-03-05 09:53:42 UTC
Mine.
Comment 2 Richard Biener 2025-02-18 13:08:25 UTC
I'll mark this fixed for GCC 15, for the vast majority of cases we'll now properly share loads.