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

Reply via email to