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