SSE Denormalised Floats Issue

Issue #32 closed
Michael Kuc created an issue

In the current build instructions for Linux, the recommended qmake command is:

qmake main.pro -r -spec linux-g++-64 CONFIG+=release

However, in Builds/QtCreator/Defaults.pri, you conditionally change the march target between native and k8, according to whether the native build flag is mentioned. Thus, it is not defined. This causes g++ to complain:

Source/EmberAnimate/EmberAnimate.cpp:599:30: error: ‘_MM_DENORMALS_ZERO_ON’ was not declared in this scope
  599 |  _MM_SET_DENORMALS_ZERO_MODE(_MM_DENORMALS_ZERO_ON);

I believe the k8 target doesn’t have the requisite SSE extensions in order for these denormalised float functions to be defined. You already define an alternative for Mac targets. I’m not sure if you can repurpose this for Linux targets without SSE.

Otherwise,

qmake main.pro -r -spec linux-g++-64 CONFIG+="release native"

might be a better command for the docs, assuming the device has SSE.

Comments (3)

  1. Matt Feemster repo owner

    I’ve updated the docs, as well as my internal build script that I use to make releases. Thank you.

    For historical background, I got a lot of help from other people when making the build and installation steps for non-Windows OSes. So I’m not even really sure what that part does, but I’ll take your word for it.

  2. Log in to comment