================ @@ -133,6 +133,7 @@ struct TransferrableTargetInfo { unsigned short SuitableAlign; unsigned short NewAlign; unsigned MaxVectorAlign; ---------------- Fznamznon wrote:
`MaxVectorAlign` is set for x86 targets. I can use it as a limit as well, but note that this patch also makes indirect return value if size of the argument exceeds the limit. So, some changes can be caused to the current behavior and test changes like in for exampe `CodeGen/X86/x86-vec-i128.c`: ``` define{{.*}} <4 x i64> @test_v32u128(ptr noundef byval(<4 x i64>) align 32 %{{.*}}, ptr noundef byval(<2 x i128>) align 32 %{{.*}}) note: possible intended match here define dso_local void @test_v32u128(ptr dead_on_unwind noalias writable sret(<4 x i64>) align 32 %agg.result, ptr noundef byval(<4 x i64>) align 32 %0, ptr noundef byval(<2 x i128>) align 32 %1) `` If that is correct, I can use `MaxVectorAlign` for sure. https://github.com/llvm/llvm-project/pull/98629 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits