Bulat Ziganshin <[EMAIL PROTECTED]> writes: > Hello Jon, > > Tuesday, October 10, 2006, 1:18:52 PM, you wrote: > > > Surely all but one of the comparisons is unnecessary? If you > > use `compare` instead of (==) and friends, won't one do (I'm > > assuming that the compiler can convert cases on LT, EQ and > > GT into something sensible -- after all, wasn't that the > > purpose of compare?)? > > it will too smart for GHC. actual code is: > > compareInt# :: Int# -> Int# -> Ordering > compareInt# x# y# > | x# <# y# = LT > | x# ==# y# = EQ > | otherwise = GT
But once that's been inlined and through whatever code generator, what then? If it doesn't get turned into one test on the data and conditional jumps on sign bits, something isn't doing a thorough job... -- Jón Fairbairn [EMAIL PROTECTED] _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe