Probleme mit SIMD Matrix, Vektor Klassen nach VS2017 Portierung
-
Hallo alle zusammen,
aktuell führe ich eine Portierung meines Projektes von Visual Studio 2015 zu Visual Studio 2017 durch.
Wenn ich das Projekt in Visual studio 2017 bauen will, bekomme ich mehrere Fehlermeldungen, welche ich bei meinen VS 2015 Projekt nicht bekomme.Unter anderem wird mir mitgeteilt "this declaration has no storage class or type specifier".
Diese Fehlermeldung tritt bei dem Schlüsseltwort _MM_ALIGN16 auf:
_MM_ALIGN16 class INVISION_API Matrix
{
private:
...
public:
Matrix();
Matrix(float val);
...
}
Weitere Fehlermeldungen sind:- 'mm_setzero_ps' : identifier not found
- '__m128': undeclared identifier
-'mm_loadu_ps': identifier not found
Was mich generell verwundert ist, dass es nur im Zusammenhang mit SIMD Statements Probleme gibt.
Bei Visual Studio 2015 tritt das Problem nicht auf.
Werden SIMD Statements und Deklarationen wie mm_setzero_ps, __m128 use nicht mehr unterstützt in VS 2017?
Ich nutze die Header Datei <smmintrin.h>, hat die sich eventuell geändert in Visual Studio 2017.Vielen Dank für eure Hilfe.
Mit freundlichen Grüßen
Dennis
-
@Pixma
5 Sekunden Googeln:
https://developercommunity.visualstudio.com/content/problem/175737/missing-zero-extension-avx-and-avx512-intrinsics.html
-
@hustbaer vielen Dank für deinen super netten freundlichen Post.
Ich nutze bereits die aktuellste Version und hab die Seite bereits entdeckt.Ich habs eben gelöst bekommen durch folgende beiden Punkte.
- Ich hab _MM_ALIGN16 in einer selbst erstellten Konfigurationsdatei (c++ header) für VS2017 definiert
- ich nutze die immintrin.h nun anstatt der smmintrin.h
-
Ruhig, Brauner.
-
@Pixma sagte in Probleme mit SIMD Matrix, Vektor Klassen nach VS2017 Portierung:
@hustbaer vielen Dank für deinen super netten freundlichen Post.
Ich nutze bereits die aktuellste Version und hab die Seite bereits entdeckt.Ich habs eben gelöst bekommen durch folgende beiden Punkte.
- Ich hab _MM_ALIGN16 in einer selbst erstellten Konfigurationsdatei (c++ header) für VS2017 definiert
- ich nutze die immintrin.h nun anstatt der smmintrin.h
Darum hilft es, wenn man beschreibt, was man versucht hat und zu dem Problem schon gefunden hat, dann doppeln sich die Infos nicht und man spart sich gegenseitig arbeit.