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