On Nov 15, 2006, at 11:45 AM, Simon Marlow wrote:

Bulat Ziganshin wrote:
Wednesday, November 15, 2006, 12:19:29 PM, you wrote:
The reason for this was that I was assuming porting the mangler to understand MASM syntax would be a huge effort. However, if we can use YASM or something else with GAS syntax, it might be feasible. Still, going NCG- only is the
preferred solution, and it's the direction we want to move in.

well, while C compilers generate better code - please try to support
them. in this particular case, -fvia-C will make accessible both MS
and Intel compilers, and the latter is the best C compiler at the
moment

It'll need a *lot* of work in the mangler (that horrible Perl script) to support mangling the output from the MS/Intel compilers. And it's not even worth the effort unless you put some work into the back-end to generate C code that can be optimised better by a C compiler.

The reason to keep -fvia-C would be the same reason it is still here: a fair amount of the optimisation is passed to GCC--not just in the area of loop unrolling. The GCC and Intel compilers utilise different optimisation techniques. For example, the Intel compiler tends to add code to test for overlaps between two potentially aliased pointers ("runtime data-dependence testing"), especially when unrolling loops for auto-vectorization. Anyway, I don't know whether the Intel compiler would actually reduce code performance (or increase code size) compared to GCC. If you put the same amount of work into optimising Cmm and the NCG as you would into modifying the mangler, you would probably get better, more consistent performance gains across architectures.

Cheers,
Peter Tanski


_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to