boost::simd unter GCC 6.2.0



  • Hallo,

    ich nutze boost::simd (Klon vom master branch, nicht developer branch) und boost 1.61.0. Folgender Code:

    #include <iostream>
    #include <boost/simd.hpp>
    int main(int argc, char** argv)
    {
    	boost::simd::pack<double> foo(0.);
    	foo[0] = 16.617294;
    	boost::simd::pack<double> bar(0.);
    	bar[0] = 4.;
    
    	std::cout << (foo > bar)[0].get() << '\n';
    }
    

    Gibt unter VC15 true und unter GCC false aus.
    Mein GCC: GCC 6.2.0, MinGW x86_64
    Optionen: g++ -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -std=c++14 -Ofast -fwhole-program -march=native -DNDEBUG -s ( -c -o -I rausgekürzt hier)

    Ich weiss nicht, woran das liegt und weiss auch nicht, wie ich das mit gdb im Terminal debuggen könnte. Im Internet habe ich auch nichts Hilfreiches dazu gefunden.

    Kann vielleicht jemand boost::simd von hier herunterladen und den obigen Code mit GCC kompilieren?

    Gruss


  • Mod

    Probier vielleicht mal ohne -Ofast?



  • Arcoth schrieb:

    Probier vielleicht mal ohne -Ofast?

    Hi Arcoth,

    danke für den Tipp. Mit -O3 stimmt die Ausgabe, mit -Ofast nicht mehr. Da hätte ich dran denken sollen, werd' ich mir merken. 🙂

    Gruss


Anmelden zum Antworten