[Mono-devel-list] [PATCH] .Net 2.0 System.Threading.Interlocked, tests and internal improvements

Ben Maurer bmaurer at ximian.com
Tue Oct 12 15:48:50 EDT 2004


On Tue, 2004-10-12 at 11:36 -0400, Miguel de Icaza wrote:
> > Ok, so that means his use of #ifdef __i686__ should be fine. He uses the
> > cpuid stuff for the dynamic version, so that will catch the cpu correctly.
> > And it should never get the i686 packages anyways.
> 
> We do not build special versions for i686, so I rather just do anything
> dynamically and not hardcode anything, these things are hard to track
> down on failures.

http://bugzilla.ximian.com/show_bug.cgi?id=61119

We have to ship an i686 version anyways to get nptl type stuff with
fedora.

If -march=i686 is passed, gcc will use cmovCC instructions. So, using
them ourselves without doing any dynamic checks will do no more harm.

Maybe we should have some sort of "code generation options" output. This
would make the tracking down of problems easier. So it would output
something like:

Compilation time platform :        i686
Runtime platform detected :        Intel(R) Pentium(R) 4 CPU 2.80GHz
Code generations options  :
                          cmov     on
                          ...


Maybe -v -v -v should generate this.

-- 
Ben Maurer <bmaurer at ximian.com>




More information about the Mono-devel-list mailing list