diff --git a/hw-prim.cabal b/hw-prim.cabal
--- a/hw-prim.cabal
+++ b/hw-prim.cabal
@@ -1,7 +1,7 @@
 cabal-version: 2.2
 
 name:                   hw-prim
-version:                0.6.3.1
+version:                0.6.3.2
 synopsis:               Primitive functions and data types
 description:            Primitive functions and data types.
 category:               Data
@@ -13,7 +13,7 @@
 copyright:              2016-2021 John Ky
 license:                BSD-3-Clause
 license-file:           LICENSE
-tested-with:            GHC == 9.2.2, GHC == 9.0.1, GHC == 8.10.7, GHC == 8.8.4, GHC == 8.6.5
+tested-with:            GHC == 9.4.2, GHC == 9.2.4, GHC == 9.0.2, GHC == 8.10.7, GHC == 8.8.4, GHC == 8.6.5
 build-type:             Simple
 extra-source-files:     README.md
 
@@ -29,22 +29,22 @@
 common base                       { build-depends: base                       >= 4.11       && < 5      }
 
 common bytestring                 { build-depends: bytestring                 >= 0.9        && < 0.12   }
-common criterion                  { build-depends: criterion                  >= 1.2        && < 1.6    }
+common criterion                  { build-depends: criterion                  >= 1.2        && < 1.7    }
 common deepseq                    { build-depends: deepseq                    >= 1.4        && < 1.5    }
 common directory                  { build-depends: directory                  >= 1.2        && < 1.4    }
 common doctest                    { build-depends: doctest                    >= 0.16.2     && < 0.21   }
 common doctest-discover           { build-depends: doctest-discover           >= 0.2        && < 0.3    }
 common exceptions                 { build-depends: exceptions                 >= 0.8        && < 0.11   }
-common ghc-prim                   { build-depends: ghc-prim                   >= 0.5        && < 0.9    }
-common hedgehog                   { build-depends: hedgehog                   >= 1.0        && < 1.2    }
-common hspec                      { build-depends: hspec                      >= 2.4        && < 2.10   }
+common ghc-prim                   { build-depends: ghc-prim                   >= 0.5        && < 0.10   }
+common hedgehog                   { build-depends: hedgehog                   >= 1.0        && < 1.3    }
+common hspec                      { build-depends: hspec                      >= 2.4        && < 3      }
 common hw-hspec-hedgehog          { build-depends: hw-hspec-hedgehog          >= 0.1        && < 0.2    }
 common mmap                       { build-depends: mmap                       >= 0.5        && < 0.6    }
 common QuickCheck                 { build-depends: QuickCheck                 >= 2.10       && < 2.15   }
 common semigroups                 { build-depends: semigroups                 >= 0.8.4      && < 0.21   }
 common transformers               { build-depends: transformers               >= 0.4        && < 0.7    }
 common unliftio-core              { build-depends: unliftio-core              >= 0.1.2.0    && < 0.3    }
-common vector                     { build-depends: vector                     >= 0.12       && < 0.13   }
+common vector                     { build-depends: vector                     >= 0.12       && < 0.14   }
 
 common hw-prim
   build-depends:        hw-prim
diff --git a/src/HaskellWorks/Data/Branchless.hs b/src/HaskellWorks/Data/Branchless.hs
--- a/src/HaskellWorks/Data/Branchless.hs
+++ b/src/HaskellWorks/Data/Branchless.hs
@@ -92,7 +92,9 @@
 -- >>> ltWord64 6 5
 -- 0
 ltWord64 :: Word64 -> Word64 -> Word64
-#if MIN_VERSION_base(4,16,0)
+#if MIN_VERSION_base(4,17,0)
+ltWord64 (W64# a#) (W64# b#) = fromIntegral (I# (ltWord64# a# b#))
+#elif MIN_VERSION_base(4,16,0)
 ltWord64 (W64# a#) (W64# b#) = fromIntegral (I# (ltWord# a# b#))
 #else
 ltWord64 (W64# a#) (W64# b#) = fromIntegral (I64# (ltWord# a# b#))
@@ -165,7 +167,9 @@
 -- >>> leWord64 6 5
 -- 0
 leWord64 :: Word64 -> Word64 -> Word64
-#if MIN_VERSION_base(4,16,0)
+#if MIN_VERSION_base(4,17,0)
+leWord64 (W64# a#) (W64# b#) = fromIntegral (I# (leWord64# a# b#))
+#elif MIN_VERSION_base(4,16,0)
 leWord64 (W64# a#) (W64# b#) = fromIntegral (I# (leWord# a# b#))
 #else
 leWord64 (W64# a#) (W64# b#) = fromIntegral (I64# (leWord# a# b#))
@@ -237,7 +241,9 @@
 -- >>> gtWord64 6 5
 -- 1
 gtWord64 :: Word64 -> Word64 -> Word64
-#if MIN_VERSION_base(4,16,0)
+#if MIN_VERSION_base(4,17,0)
+gtWord64 (W64# a#) (W64# b#) = fromIntegral (I# (gtWord64# a# b#))
+#elif MIN_VERSION_base(4,16,0)
 gtWord64 (W64# a#) (W64# b#) = fromIntegral (I# (gtWord# a# b#))
 #else
 gtWord64 (W64# a#) (W64# b#) = fromIntegral (I64# (gtWord# a# b#))
@@ -309,7 +315,9 @@
 -- >>> geWord64 6 5
 -- 1
 geWord64 :: Word64 -> Word64 -> Word64
-#if MIN_VERSION_base(4,16,0)
+#if MIN_VERSION_base(4,17,0)
+geWord64 (W64# a#) (W64# b#) = fromIntegral (I# (geWord64# a# b#))
+#elif MIN_VERSION_base(4,16,0)
 geWord64 (W64# a#) (W64# b#) = fromIntegral (I# (geWord# a# b#))
 #else
 geWord64 (W64# a#) (W64# b#) = fromIntegral (I64# (geWord# a# b#))
diff --git a/src/HaskellWorks/Data/Word.hs b/src/HaskellWorks/Data/Word.hs
--- a/src/HaskellWorks/Data/Word.hs
+++ b/src/HaskellWorks/Data/Word.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP       #-}
 {-# LANGUAGE MagicHash #-}
 
 module HaskellWorks.Data.Word
@@ -10,5 +11,9 @@
 import GHC.Word  hiding (ltWord64)
 
 ltWord64 :: Word64 -> Word64 -> Word64
+#if MIN_VERSION_base(4,17,0)
+ltWord64 (W64# a#) (W64# b#) = fromIntegral (I# (ltWord64# a# b#))
+#else
 ltWord64 (W64# a#) (W64# b#) = fromIntegral (I64# (ltWord# a# b#))
+#endif
 {-# INLINE ltWord64 #-}
