ppad-fixed 0.2.0 → 0.2.1
raw patch · 2 files changed
+14/−1 lines, 2 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Data.Word.Wide: instance GHC.Num.Num Data.Word.Wide.Wide
- Data.Word.Wide: instance GHC.Show.Show Data.Word.Wide.Wide
- Data.Word.Wider: instance GHC.Num.Num Data.Word.Wider.Wider
- Data.Word.Wider: instance GHC.Show.Show Data.Word.Wider.Wider
- Numeric.Montgomery.Secp256k1.Curve: instance GHC.Num.Num Numeric.Montgomery.Secp256k1.Curve.Montgomery
- Numeric.Montgomery.Secp256k1.Curve: instance GHC.Show.Show Numeric.Montgomery.Secp256k1.Curve.Montgomery
- Numeric.Montgomery.Secp256k1.Scalar: instance GHC.Num.Num Numeric.Montgomery.Secp256k1.Scalar.Montgomery
- Numeric.Montgomery.Secp256k1.Scalar: instance GHC.Show.Show Numeric.Montgomery.Secp256k1.Scalar.Montgomery
+ Data.Word.Wide: instance GHC.Internal.Num.Num Data.Word.Wide.Wide
+ Data.Word.Wide: instance GHC.Internal.Show.Show Data.Word.Wide.Wide
+ Data.Word.Wider: instance GHC.Internal.Num.Num Data.Word.Wider.Wider
+ Data.Word.Wider: instance GHC.Internal.Show.Show Data.Word.Wider.Wider
+ Numeric.Montgomery.Secp256k1.Curve: instance GHC.Internal.Num.Num Numeric.Montgomery.Secp256k1.Curve.Montgomery
+ Numeric.Montgomery.Secp256k1.Curve: instance GHC.Internal.Show.Show Numeric.Montgomery.Secp256k1.Curve.Montgomery
+ Numeric.Montgomery.Secp256k1.Scalar: instance GHC.Internal.Num.Num Numeric.Montgomery.Secp256k1.Scalar.Montgomery
+ Numeric.Montgomery.Secp256k1.Scalar: instance GHC.Internal.Show.Show Numeric.Montgomery.Secp256k1.Scalar.Montgomery
Files
- CHANGELOG +8/−0
- ppad-fixed.cabal +6/−1
CHANGELOG view
@@ -1,5 +1,13 @@ # Changelog +- 0.2.1 (2026-10-27)+ * Under the llvm flag on x86_64, the library is compiled with LLVM's+ x86 cmov converter off (-optlc=-x86-cmov-converter=false). The+ converter rewrites a conditional move whose operand is a load as a+ branch, and so made the borrow-masked correction of sub_mod,+ sub_mod#, and sub_mod_c# a branch on the borrow, which depends on+ the operands. NCG builds, and aarch64, were unaffected.+ - 0.2.0 (2026-08-01) * Addresses a couple of minor issues detected by an LLM scan:
ppad-fixed.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: ppad-fixed-version: 0.2.0+version: 0.2.1 synopsis: Large fixed-width words and constant-time arithmetic. license: MIT license-file: LICENSE@@ -31,6 +31,11 @@ -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 makes sub_mod#'s borrow-masked+ -- correction a branch on the borrow; keep the cmov.+ if flag(llvm) && arch(x86_64)+ ghc-options: -optlc=-x86-cmov-converter=false exposed-modules: Data.Choice , Data.Word.Limb