benchmarking Poly/ML & floating point

Matthew Fluet fluet@CS.Cornell.EDU
Mon, 11 Sep 2000 19:35:47 -0400 (EDT)


> It can screw you by making the code inside of Real_equal being
> 	test if x1 != x2
> 	if true jump
> 	load %eax with 1
> 	return
> label:	load %eax with 0
> 	return
> 
> I.e., you can be screwed in either place.

Well, I can attest to the fact that gcc doesn't do that on the function
that Steve described.  On the other hand, gcc has "different" code for the
corresponding Real_nequal function; i.e., there are different
instructions, not just a negation of the final setcc condition.