core/simd/x86: Use the none calling convention for intrinsics

The LLVM intrinsics that live under `llvm.x86` are not actual functions,
so trying to invoke them as such using the platform's native C
calling convention causes incorrect types to be emitted in the IR.

Thanks to laytanl for assistance in testing.
This commit is contained in:
Yawning Angel
2024-01-07 20:04:40 +09:00
parent cd65a15d81
commit 8d7c37e384
11 changed files with 11 additions and 11 deletions
+1 -1
View File
@@ -105,7 +105,7 @@ _mm_sign_epi32 :: #force_inline proc "c" (a, b: __m128i) -> __m128i {
@(private, default_calling_convention="c")
@(private, default_calling_convention="none")
foreign _ {
@(link_name = "llvm.x86.ssse3.pabs.b.128")
pabsb128 :: proc(a: i8x16) -> u8x16 ---