#6156: Optimiser bug on linux-powerpc
------------------------------------------+---------------------------------
  Reporter:  erikd                        |          Owner:  igloo  
      Type:  bug                          |         Status:  new    
  Priority:  normal                       |      Milestone:  7.6.1  
 Component:  Compiler                     |        Version:  7.4.1  
Resolution:                               |       Keywords:         
        Os:  Linux                        |   Architecture:  powerpc
   Failure:  Incorrect result at runtime  |     Difficulty:  Unknown
  Testcase:                               |      Blockedby:         
  Blocking:                               |        Related:         
------------------------------------------+---------------------------------

Comment(by erikd):

 Thanks @simonmar, thats a good tip. Using the FFI:

 {{{
 import Foreign.C.Types
 import Numeric

 foreign import ccall "c_printInt64" printInt64 :: CLLong -> IO ()

 main :: IO ()
 main = do
     printInt64 input
     putStrLn (showHex input "")

 input :: CLLong
 input = 0x1a2a3a4a5a6a7a8a
 }}}

 and compiled without optimisation I get:

 {{{
 1a2a3a4a5a6a7a8a
 1a2a3a4a5a6a7a8a
 }}}

 and with optimisation I get:

 {{{
 7a8a
 1a2a3a4a5a6a7a8a
 }}}

 which is weird in that the FFI version is incorrect, but only when
 optimisation is off.

 Modifying this example as:

 {{{
 import Foreign.C.Types
 import Numeric

 foreign import ccall "c_printInt64" printInt64 :: CLLong -> IO ()

 main :: IO ()
 main = do
     printInt64 (succ input)
     putStrLn (showHex (succ input) "")

 input :: CLLong
 input = 0x1a2a3a4a5a6a7a8a
 }}}

 and then both the FFI and the pure Haskell version are incorrect with
 optimisation.

 This suggests that its actually a problem with the way 64 bit values are
 passed to functions.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/6156#comment:38>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to