
#8072: Optimizations change result of div for Word -----------------------------+------------------------------------- Reporter: Khudyakov | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.6.3 Keywords: | Operating System: Unknown/Multiple Architecture: x86 | Type of failure: None/Unknown Difficulty: Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | -----------------------------+------------------------------------- Here is test case {{{ import Data.Word main :: IO () main = do print $ (maxBound :: Word) `div` 101 }}} And result of execution {{{ $ ghc -fforce-recomp -O2 --make reduce.hs && ./reduce [1 of 1] Compiling Main ( reduce.hs, reduce.o ) Linking reduce ... 2891661149 @{debian:0}~/qqq/mwc $ ghc -fforce-recomp --make reduce.hs && ./reduce [1 of 1] Compiling Main ( reduce.hs, reduce.o ) Linking reduce ... 42524428 }}} Bug is only present on 32-bit systems. It goes away if rewrite rules are disable with -fno-enable-rewrite-rules or anything but maxBound is used as first argument or second argument is forced to be a funcion argument. So it could be bug in constant folding. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8072 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler