|
Boost-Build : |
From: Phillip Seaver (phil_at_[hidden])
Date: 2007-12-03 09:36:38
Vladimir Prus wrote:
> On Friday 16 November 2007 21:44:04 John Pavel wrote:
>
>> Just as it is possible to invoke, eg, async exceptions by means of
>>
>> project
>> : requirements
>> <toolset>msvc:<asynch-exceptions>on
>> ;
>>
>> it would be helpful to be able to set a few other flags, notably for
>> different types of special instruction and floating point handling:
>>
>>
>> More specifically, could we invoke the use of SSE instructions?
>>
>> In gcc, this is done by the -mssse, -mssse2, etc, flags. gcc 4.3.0 also
>> provides
>> . Support for SSSE3 built-in functions and code generation are available via
>> -mssse3 (which also comes with the core2 architecture)
>> . Support for SSE4.1 built-in functions and code generation are available
>> via -msse4.1.
>> . Support for SSE4.2 built-in functions and code generation are available
>> via -msse4.2.
>>
>> (see http://gcc.gnu.org/gcc-4.3/changes.html)
>>
>> VC++ has the /arch option (see
>> http://msdn2.microsoft.com/en-gb/library/7t5yh4fd(VS.90).aspx) Intel has
>> similar.
>>
>>
>> Could we also invoke different types of floating point handling:
>>
>> For recent versions of VC++ (and Intel compilers) we have /fp:[precise |
>> except[-] | fast | strict ] (see
>> http://msdn2.microsoft.com/en-gb/library/e7s85ffb(VS.90).aspx)
>>
>> Gcc has a similar, if more finely grained, set of options.
>>
>> These options would be even more useful if combined with the ability to time
>> the running of tests, as it would allow the user to test the impact of using
>> faster v more accurate fp handling.
>>
>
> I'm not sure. Are those options present in other compilers, in basically
> same form. It's probably not worth adding a feature if it's easy to
> accomplish using explicit options, and there are just two compilers of interest.
>
> - Volodya
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build
>
He actually mentioned GCC, VC++, and Intel. :-) It looks like at least
2 of the other compilers boost supports have options along those lines:
http://h30097.www3.hp.com/cplus/cxx.html#optimize_opt
http://developers.sun.com/sunstudio/documentation/ss11/opts/h_for_x86-spec_options.html
http://developers.sun.com/sunstudio/documentation/ss11/opts/h_for_numFP_options.html
That said, it may be non-trivial to abstract the many different options,
and I don't know how many people would use it, since I would bet most
people just try to make it run on most of the systems they're targeting
(most Windows machines, e.g.).
As John Pavel said in his response, this is related to the
cpu/architecture discussion -- it just depends on how far you want to go
in targeting different processors. :-)
Phillip
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk