Quote:
Originally Posted by LigH
|
GCC 5.3 works OK. The problem is with stack alignment. In Windows and ancient CPU the stack alignment was 4 which is too small for SSE2 functions. GCC needs to analyze code and realign the stack in functions that calls SSE2 functions -- GCC 6.1 works wrong in this area.
If I add option '-mincoming-stack-boundary=2' to encoder/slicetype.cpp in 32-bit GCC 6.1, it works without '-march' option. I need some time to detailed analyze...
By the way, if you add line in your build script:
export CXXFLAGS="-march=pentium4 -mtune=generic"
before part that build 32-bit x265, it will be much faster version of 32-bit x265.