================ @@ -0,0 +1,43 @@ +// RUN: %clang_cc1 -ffreestanding -emit-llvm %s -o - -triple=i686-pc-windows-msvc \ +// RUN: | FileCheck %s +// RUN: %clang_cc1 -ffreestanding -emit-llvm %s -o - -triple=x86_64-pc-windows-msvc \ +// RUN: | FileCheck %s +// RUN: %clang_cc1 -ffreestanding -emit-llvm %s -o - -triple=i686-pc-windows-msvc \ +// RUN: -fclang-abi-compat=21 | FileCheck --check-prefixes=CLANG21 %s +// RUN: %clang_cc1 -ffreestanding -emit-llvm %s -o - -triple=x86_64-pc-windows-msvc \ +// RUN: -fclang-abi-compat=21 | FileCheck --check-prefixes=CLANG21 %s + +// To match the MSVC ABI, vector types must be returned indirectly from member +// functions (as long as they do not use the vectorcall calling convention), +// but must be returned directly everywhere else. + +#include <xmmintrin.h> ---------------- henrybw wrote:
Done. (I was also surprised by MSVC returning vectors directly on ARM64, but that's also why I constrained this behavior to only apply to x86/x86-64 targets.) https://github.com/llvm/llvm-project/pull/157365 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits