From 5a520a845481658c4be5ce6386ea2814db4fe330 Mon Sep 17 00:00:00 2001 From: Brent Pedersen Date: Wed, 11 Sep 2019 08:35:44 -0600 Subject: [PATCH] only do 64bts on x86 --- lib/system/sets.nim | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/system/sets.nim b/lib/system/sets.nim index ea92c3ca3..4835bef1e 100644 --- a/lib/system/sets.nim +++ b/lib/system/sets.nim @@ -31,9 +31,10 @@ proc countBits64(n: uint64): int {.compilerproc, inline.} = proc cardSet(s: NimSet, len: int): int {.compilerproc, inline.} = var j = -1 - for i in countup(0, len - 8, 8): - inc(result, countBits64((cast[ptr uint64](s[i].unsafeAddr))[])) - j = i + 7 + when defined(x86): + for i in countup(0, len - 8, 8): + inc(result, countBits64((cast[ptr uint64](s[i].unsafeAddr))[])) + j = i + 7 for i in (j + 1) ..< len: inc(result, countBits32(uint32(s[i])))