http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56531
Bug #: 56531 Summary: SLP load permutations cannot share the load between and inside SLP instances Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Keywords: missed-optimization, wrong-code Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: rgue...@gcc.gnu.org Blocks: 56270 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.