From cf756bf62b83e3afaf2ccef8842000d30a7cc7a2 Mon Sep 17 00:00:00 2001 From: ARATA Mizuki Date: Wed, 27 Nov 2024 20:04:26 +0900 Subject: [PATCH] fp-ieee: Enable FMA primitive on GHC 9.8.3 --- fp-ieee/src/Numeric/Floating/IEEE/Internal/FMA.hs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/fp-ieee/src/Numeric/Floating/IEEE/Internal/FMA.hs b/fp-ieee/src/Numeric/Floating/IEEE/Internal/FMA.hs index dae3ce5..205b2de 100644 --- a/fp-ieee/src/Numeric/Floating/IEEE/Internal/FMA.hs +++ b/fp-ieee/src/Numeric/Floating/IEEE/Internal/FMA.hs @@ -159,10 +159,9 @@ twoProduct_nonscaling a b = twoProductFloat :: Float -> Float -> (Float, Float) twoProductDouble :: Double -> Double -> (Double, Double) -#if defined(HAS_FMA_PRIM) && MIN_VERSION_GLASGOW_HASKELL(9, 10, 1, 0) +#if defined(HAS_FMA_PRIM) && MIN_VERSION_GLASGOW_HASKELL(9, 8, 3, 0) -- GHC 9.8.1 is buggy: https://gitlab.haskell.org/ghc/ghc/-/issues/24160 -- GHC 9.8.2 is also buggy: https://gitlab.haskell.org/ghc/ghc/-/issues/24496 --- We might use `MIN_VERSION_GLASGOW_HASKELL(9, 8, 3, 0)` once GHC 9.8.3 is released. twoProductFloat# :: Float# -> Float# -> (# Float#, Float# #) twoProductFloat# x y = let !r = x `timesFloat#` y