2014-07-17 0:51 GMT+02:00 Páli Gábor János <pali.ga...@gmail.com>: > 2014-07-17 0:47 GMT+02:00 Niklas Larsson <metanik...@gmail.com>: >> I hope they can just be done away with at the source, that is to make gcc >> generate the assembly primitives. GHC should already be built with i686, but >> does that reach ghc-prim? > > This depends on GCC -- if no -march=XXX is explicitly set, I guess it > will take its default, which may vary platform by platform.
All right, I have finally got a Windows (x64) machine and installed the msys2 environment by the GHC wiki [1]. This has GCC 4.5.2 (as Niklas wrote earlier), where the default -march is i386. You should see this line when trying to compile Johan's test program with the -v flag set: COLLECT_GCC_OPTIONS= ... '-v' '-mtune=i386' '-march=i386' With the -march=i586 flag explicitly set in the command line, no __sync_fetch_and_add_n() calls are generated. [1] https://ghc.haskell.org/trac/ghc/wiki/Building/Preparation/Windows/MSYS2 _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs