trueroad wrote > Hello Arnold. > Thank you for your patch. > > If I understand correctly, we only need check the definitions of > `__x86__` and `__i386__` check. > > In x86_64 environment, neither `__x86__` nor `__i386__` are defined. > > ``` > $ echo | x86_64-w64-mingw32-gcc -dM -E - | grep "__x86__" > > $ echo | x86_64-w64-mingw32-gcc -dM -E - | grep "__i386__" > > $ echo | i686-w64-mingw32-gcc -dM -E - | grep "__x86__" > > $ echo | i686-w64-mingw32-gcc -dM -E - | grep "__i386__" > #define __i386__ 1 > > $ > ``` > > Therefore, `defined (__code_model_32__)` is not necessary. > > If `__SSE2_MATH__` is defined, it only indicates that main.cc is > compiled with SSE2 math enabled. > Shared libraries such as libguile may still use x86 FPU. > If the floating point calculation inside GUILE uses x86 FPU, we need to > set the precision even if C++ uses SSE2. > > Therefore, `defined (__SSE2_MATH__)` is not necessary. > > Furthermore, if the floating-point operations of all modules use SSE2, > setting the x86 FPU precision has no effect because it is not used. > In other words, there is no problem even if the precision is set on a > platform that does not need to set. > > Therefore, environment definitions such as `defined (__MINGW32__)` is > not necessary. > > > https://codereview.appspot.com/577450043/
Thank you for the clear answer. Therfore, do it as suggested [move asm() call closer to _FPU_SETCW() call] ArnoldTheresius. -- Sent from: http://lilypond.1069038.n5.nabble.com/Dev-f88644.html