arsenm added a comment. In D139627#3993471 <https://reviews.llvm.org/D139627#3993471>, @craig.topper wrote:
> If the caller or callee calculate have different values and one of them is > less than the width of the vector argument it will cause an ABI break. The > type legalizer in SelectionDAG will split one and not the other. Maybe the > backend should check the IR for the arguments/returns and increase the > min-legal-vector-width if its less than argument width and the argument width > is supported by the AVX level. Right, I think the backend needs to fixup whatever it needs for hard requirements. The current implementation treating it like hard ABI any time a function signature changes isn't scalable. Every possible transform that could introduce a call site would need to handle this. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D139627/new/ https://reviews.llvm.org/D139627 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits