On Tue, Mar 27, 2007 at 12:41:30AM -0000, GHC wrote:
>  Now we get {{{ case n <=# 0# of { True -> ...; False -> ...} }}}. We might
>  hope that this gives us equivalent code in the backend but sadly it
>  doesn't, the simple version is slower.
> 
>  We should be able to do better since at the cpu level calculating
>  condition codes for == and <= is the same cost, just different
>  instructions.

actually, this is not true for the specific case of testing against zero
on x86 at least. there is a 'zero flag' that is set whenever the result
of an operation is zero. whereas for compares, you actually need to load
zero into a register and cmp against it.

though, there could be other things going on with ghc of course.

        John


-- 
John Meacham - ⑆repetae.net⑆john⑈
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to