Hello Dmitry,

>> This is a call for testers concerning an experimental OCaml compiler
>> back-end that uses SSE2 instructions for floating-point arithmetic.[...]
> 
> I cannot provide any benchmark yet

Too bad :-( I got very little feedback to my call: just one data point
(thanks Gaetan).  Perhaps most OCaml users interested in numerical
computations have switched to x86-64bits already?  At any rate, given
such a lack of interest, this x86-32/SSE2 port isn't going to make it
into the OCaml distribution.

> but even not taking into account
> the better register organization there are at least two areas where
> SSE2 can outperform x87 significantly.
> 
> 1. Float to integer conversion
> Is quite inefficient on x87 because you have to explicitly set and
> restore rounding mode.

Right.  The mode change makes the conversion about 10x slower on x87
than on SSE2.  Apparently, float->int conversion is uncommon is
numerical code, otherwise we'd observe bigger speedups on real
applications...

> 2. Float compare
> Does not set flags on x87 so

The SSE2 code is prettier than the x87 code, but this doesn't seem to
translate into a significant performance gain, in my limited testing.

> As for SSE2 backend presented I have some thoughts regarding the code
> (fast math functions via x87 are questionable,

Most x86-32bits C libraries implement sin(), cos(), etc with the x87
instructions, so I'm curious to know what you find objectionable here.

> optimization of floating compare etc.) Where to discuss that - just
> here or there is some entry in Mantis?

Why not start on this list?  We'll move to private e-mail if the
discussion becomes too heated :-)

- Xavier Leroy

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Reply via email to