diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,13 @@
 # Changelog
 
+- 0.3.7 (2026-10-31)
+  * Bumps the ppad-poly1305 dependency to 0.4.7, which picks up
+    ppad-fixed 0.2.1. Under the llvm flag on x86_64, both are compiled
+    with LLVM's x86 cmov converter off
+    (-optlc=-x86-cmov-converter=false). This library is compiled
+    likewise, as ppad-fixed's constant-time arithmetic can be inlined
+    into it.
+
 - 0.3.6 (2026-09-06)
   * Merely bumps the ppad-chacha dependency.
 
diff --git a/ppad-aead.cabal b/ppad-aead.cabal
--- a/ppad-aead.cabal
+++ b/ppad-aead.cabal
@@ -1,6 +1,6 @@
 cabal-version:      3.0
 name:               ppad-aead
-version:            0.3.6
+version:            0.3.7
 synopsis:           A pure AEAD-ChaCha20-Poly1305 construction
 license:            MIT
 license-file:       LICENSE
@@ -31,6 +31,12 @@
       -Wall
   if flag(llvm)
     ghc-options: -fllvm -O2
+  -- LLVM's x86 backend rewrites a cmov whose operand is a load as a
+  -- branch (its cmov converter), which would make the borrow-masked
+  -- correction of ppad-fixed's sub_mod# (inlinable here) a branch on
+  -- the borrow; keep the cmov.
+  if flag(llvm) && arch(x86_64)
+    ghc-options: -optlc=-x86-cmov-converter=false
   exposed-modules:
       Crypto.AEAD.ChaCha20Poly1305
   other-modules:
@@ -39,7 +45,7 @@
       base >= 4.9 && < 5
     , bytestring >= 0.9 && < 0.13
     , ppad-chacha >= 0.3 && < 0.4
-    , ppad-poly1305 >= 0.4.6 && < 0.5
+    , ppad-poly1305 >= 0.4.7 && < 0.5
 
 test-suite aead-tests
   type:                exitcode-stdio-1.0
