[Clang für VS] SSE-Intrinsics funktionieren nicht
Verfasst: 26.03.2015, 14:27
Huhu!
Ich habe die aktuelle Version der Clang-Integration für Visual Studio von http://llvm.org/builds/. Ich wollte sie nutzen um meine SSE-Texte auf Vordermann zu bringen, aber zu meinem Entsetzen muss ich feststellen, dass wichtige Intrinsics nicht gefunden werden:
error : use of undeclared identifier '__builtin_ia32_loadups'
error : use of undeclared identifier '__builtin_ia32_shufps'
Mit GCC funktioniert das tadellos, und gemäß der Liste hier sollten sie ab -msse zur Verfügung stehen. Das Visual C++-Projekt ist auf SSE2 eingestellt; und das scheint auch beim Compiler anzukommen, da __builtin_ia32_cvtss2si, __builtin_ia32_storelps, und __builtin_ia32_storeups erfolgreich kompilieren.
Der einzige Hinweis, den ich im Internet finde, ist dieser fünf Jahre alte Beitrag, dass BSD nicht mit Clang kompilierbar war, und das war ein Compiler-Fehler.
Fallen GCC-/Clang-Vertrauten offensichtliche Fehler in meinem Vorgehen auf? Sind die Funktionen vielleicht deprecated und deshalb rausgeschmissen worden oder so? Alternativen? Oder einfach zurücklehnen und als will-be-fixed-in-next-version abhaken?
Gruß
Ich habe die aktuelle Version der Clang-Integration für Visual Studio von http://llvm.org/builds/. Ich wollte sie nutzen um meine SSE-Texte auf Vordermann zu bringen, aber zu meinem Entsetzen muss ich feststellen, dass wichtige Intrinsics nicht gefunden werden:
error : use of undeclared identifier '__builtin_ia32_loadups'
error : use of undeclared identifier '__builtin_ia32_shufps'
Mit GCC funktioniert das tadellos, und gemäß der Liste hier sollten sie ab -msse zur Verfügung stehen. Das Visual C++-Projekt ist auf SSE2 eingestellt; und das scheint auch beim Compiler anzukommen, da __builtin_ia32_cvtss2si, __builtin_ia32_storelps, und __builtin_ia32_storeups erfolgreich kompilieren.
Der einzige Hinweis, den ich im Internet finde, ist dieser fünf Jahre alte Beitrag, dass BSD nicht mit Clang kompilierbar war, und das war ein Compiler-Fehler.
Fallen GCC-/Clang-Vertrauten offensichtliche Fehler in meinem Vorgehen auf? Sind die Funktionen vielleicht deprecated und deshalb rausgeschmissen worden oder so? Alternativen? Oder einfach zurücklehnen und als will-be-fixed-in-next-version abhaken?
Gruß