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.
Mine.
I'll mark this fixed for GCC 15, for the vast majority of cases we'll now properly share loads.