From e0e642e97830ab9786fdbb4cc32e5bc4707fe028 Mon Sep 17 00:00:00 2001 From: Csaba Kiraly Date: Tue, 17 May 2022 15:15:01 +0200 Subject: [PATCH] avoid X86 specific code on ARM Signed-off-by: Csaba Kiraly --- leopard/utils.nim | 7 +++++-- leopard/utils/allocs.nim | 9 ++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/leopard/utils.nim b/leopard/utils.nim index ab63788..d175d2b 100644 --- a/leopard/utils.nim +++ b/leopard/utils.nim @@ -1,4 +1,7 @@ import ./utils/allocs -import ./utils/cpuinfo_x86 -export cpuinfo_x86, allocs +when defined(amd64) or defined(i386): + import ./utils/cpuinfo_x86 + export cpuinfo_x86 + +export allocs diff --git a/leopard/utils/allocs.nim b/leopard/utils/allocs.nim index 4992655..671ffb6 100644 --- a/leopard/utils/allocs.nim +++ b/leopard/utils/allocs.nim @@ -14,12 +14,15 @@ push: {.upraises: [].} import system/ansi_c -import ./cpuinfo_x86 +when defined(amd64) or defined(i386): + import ./cpuinfo_x86 ## inspired by https://github.com/mratsim/weave/blob/master/weave/memory/allocs.nim -let - LeoAlignBytes* = if hasAvx2(): 32'u else: 16'u +when defined(amd64) or defined(i386): + let LeoAlignBytes* = if hasAvx2(): 32'u else: 16'u +else: + let LeoAlignBytes* = 16'u when defined(windows): proc alignedAllocWindows(size, alignment: csize_t): pointer