From a2e6fc59093d4ef88d74ebe71fe7e1d070f65c57 Mon Sep 17 00:00:00 2001 From: jakubtomsu <66876057+jakubtomsu@users.noreply.github.com> Date: Sun, 22 Oct 2023 20:52:35 +0200 Subject: [PATCH 1/2] change and_not to bit_and_not --- core/simd/x86/sse.odin | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/simd/x86/sse.odin b/core/simd/x86/sse.odin index 3efdeccba..980606b12 100644 --- a/core/simd/x86/sse.odin +++ b/core/simd/x86/sse.odin @@ -130,7 +130,7 @@ _mm_and_ps :: #force_inline proc "c" (a, b: __m128) -> __m128 { } @(require_results, enable_target_feature="sse") _mm_andnot_ps :: #force_inline proc "c" (a, b: __m128) -> __m128 { - return transmute(__m128)simd.and_not(transmute(__m128i)a, transmute(__m128i)b) + return transmute(__m128)simd.bit_and_not(transmute(__m128i)a, transmute(__m128i)b) } @(require_results, enable_target_feature="sse") _mm_or_ps :: #force_inline proc "c" (a, b: __m128) -> __m128 { From b06583133a365d1a0bc2a6b6e015e91b480cf5e0 Mon Sep 17 00:00:00 2001 From: jakubtomsu <66876057+jakubtomsu@users.noreply.github.com> Date: Sun, 22 Oct 2023 20:59:19 +0200 Subject: [PATCH 2/2] Fix the other bit_* intrinsic calls --- core/simd/x86/sse.odin | 6 +++--- core/simd/x86/sse2.odin | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/core/simd/x86/sse.odin b/core/simd/x86/sse.odin index 980606b12..2b70e954f 100644 --- a/core/simd/x86/sse.odin +++ b/core/simd/x86/sse.odin @@ -126,7 +126,7 @@ _mm_max_ps :: #force_inline proc "c" (a, b: __m128) -> __m128 { @(require_results, enable_target_feature="sse") _mm_and_ps :: #force_inline proc "c" (a, b: __m128) -> __m128 { - return transmute(__m128)simd.and(transmute(__m128i)a, transmute(__m128i)b) + return transmute(__m128)simd.bit_and(transmute(__m128i)a, transmute(__m128i)b) } @(require_results, enable_target_feature="sse") _mm_andnot_ps :: #force_inline proc "c" (a, b: __m128) -> __m128 { @@ -134,11 +134,11 @@ _mm_andnot_ps :: #force_inline proc "c" (a, b: __m128) -> __m128 { } @(require_results, enable_target_feature="sse") _mm_or_ps :: #force_inline proc "c" (a, b: __m128) -> __m128 { - return transmute(__m128)simd.or(transmute(__m128i)a, transmute(__m128i)b) + return transmute(__m128)simd.bit_or(transmute(__m128i)a, transmute(__m128i)b) } @(require_results, enable_target_feature="sse") _mm_xor_ps :: #force_inline proc "c" (a, b: __m128) -> __m128 { - return transmute(__m128)simd.xor(transmute(__m128i)a, transmute(__m128i)b) + return transmute(__m128)simd.bit_xor(transmute(__m128i)a, transmute(__m128i)b) } diff --git a/core/simd/x86/sse2.odin b/core/simd/x86/sse2.odin index f33bd2195..dd292712f 100644 --- a/core/simd/x86/sse2.odin +++ b/core/simd/x86/sse2.odin @@ -281,19 +281,19 @@ _mm_srl_epi64 :: #force_inline proc "c" (a, count: __m128i) -> __m128i { @(require_results, enable_target_feature="sse2") _mm_and_si128 :: #force_inline proc "c" (a, b: __m128i) -> __m128i { - return simd.and(a, b) + return simd.bit_and(a, b) } @(require_results, enable_target_feature="sse2") _mm_andnot_si128 :: #force_inline proc "c" (a, b: __m128i) -> __m128i { - return simd.and_not(b, a) + return simd.bit_and_not(b, a) } @(require_results, enable_target_feature="sse2") _mm_or_si128 :: #force_inline proc "c" (a, b: __m128i) -> __m128i { - return simd.or(a, b) + return simd.bit_or(a, b) } @(require_results, enable_target_feature="sse2") _mm_xor_si128 :: #force_inline proc "c" (a, b: __m128i) -> __m128i { - return simd.xor(a, b) + return simd.bit_xor(a, b) } @(require_results, enable_target_feature="sse2") _mm_cmpeq_epi8 :: #force_inline proc "c" (a, b: __m128i) -> __m128i {