summaryrefslogtreecommitdiffstats
path: root/meta-python/recipes-devtools/python/python3-orjson/0002-Guard-x86-feature-detection-macro-in-pystrref-object.patch
blob: 59105e723c24a60ff671c6d98e924f5cf2d9ee78 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
From 7ef16220caaa82f7a90047c8c9b5ff2eeb15b9ce Mon Sep 17 00:00:00 2001
From: Tim Orling <tim.orling@konsulko.com>
Date: Thu, 29 Jan 2026 10:22:31 -0800
Subject: [PATCH 2/2] Guard x86 feature detection macro in pystrref/object.rs

The std::is_x86_feature_detected! macro only works on x86/x86_64
targets. This patch wraps the feature detection and AVX-512 code path
with cfg guards to allow compilation on non-x86 architectures.

On non-x86 targets, the code will fall through to the generic
implementation instead of attempting AVX-512 optimizations.

Upstream-Status: Inappropriate [Rejected by upstream https://github.com/ijl/orjson/pull/609]

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
---
 src/ffi/pystrref/object.rs | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/ffi/pystrref/object.rs b/src/ffi/pystrref/object.rs
index 9ef12eb..7c2c046 100644
--- a/src/ffi/pystrref/object.rs
+++ b/src/ffi/pystrref/object.rs
@@ -29,6 +29,7 @@ static mut STR_CREATE_FN: StrDeserializer = super::scalar::str_impl_kind_scalar;
 
 pub fn set_str_create_fn() {
     unsafe {
+        #[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
         #[cfg(all(CPython, feature = "avx512"))]
         if std::is_x86_feature_detected!("avx512vl") {
             STR_CREATE_FN = super::avx512::create_str_impl_avx512vl;
-- 
2.39.5