diff --git a/Changelog.md b/Changelog.md
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,3 +1,7 @@
+# 0.1.2.1
+
+- Disable cmm on 32 bit x86 architecture
+
 # 0.1.2
 
 - Add compare and swap operation
diff --git a/atomic-counter.cabal b/atomic-counter.cabal
--- a/atomic-counter.cabal
+++ b/atomic-counter.cabal
@@ -5,7 +5,7 @@
 name:
   atomic-counter
 version:
-  0.1.2
+  0.1.2.1
 synopsis:
   Mutable counters that can be modified with atomic operatinos
 
@@ -98,7 +98,7 @@
     src
   build-depends:
     , base >= 4.14 && < 5
-  if impl(ghc >= 9.4) && !arch(javascript) && !flag(no-cmm)
+  if impl(ghc >= 9.4) && !arch(javascript) && !arch(i386) && !flag(no-cmm)
     cmm-sources:
       Counter.cmm
     cpp-options:
diff --git a/bench/BenchMain.hs b/bench/BenchMain.hs
--- a/bench/BenchMain.hs
+++ b/bench/BenchMain.hs
@@ -134,8 +134,8 @@
               evaluate (readAddr addr)
 #endif
           ]
-        | repeats <- [1, 2, 4, 6, 8, 12, 16, 20, 32, 64, 128]
-        , let threads = [1..repeats]
+        | maxThreads <- [1, 2, 4, 6, 8, 12, 16, 20, 32, 64, 128]
+        , let threads = [1..maxThreads]
         , n <- [Iterations 10, Iterations 100, Iterations 1000, Iterations 10000]
         ]
 
