> I somehow missed the "Appendix A: Support for Advanced SIMD Extensions" > in the AAPCS document (it's not in the TOC!). It looks like the > builtin vector types are indeed defined to be stored in memory in > vldm/vstm order -- I think that means we're back to square one.
There's still the possibility of making gcc "generic" vector types different from the ABI specified types[1], but that feels like it's probably a really bad idea. Having a distinct set of types just for the vectorizer may be a more viable option. IIRC the type selection hooks are more flexible than when we first looked at this problem. Paul [1] e.g. int gcc __attribute__((vector_size(8))); v.s. int32x2_t eabi;