Czy możliwe jest rzutowanie floatów bezpośrednio na __m128, jeśli są wyrównane do 16 bajtów?
Czy jest to bezpieczne / możliwe / wskazane, aby rzucać pływaki bezpośrednio do__m128
jeśli są wyrównane do 16 bajtów?
Zauważyłem używanie_mm_load_ps
i_mm_store_ps
„zawinięcie” surowej tablicy dodaje znaczny narzut.
Jakie są potencjalne pułapki, o których powinienem wiedzieć?
EDYTOWAĆ :
Właściwie nie ma kosztów ogólnych związanych z używaniem obciążenia i przechowywaniem instrukcji, mam kilka liczb zmieszanych i dlatego mam lepszą wydajność. Nawet jeśli udało mi się zrobić jakieś zniekształcenie HORRENDOUS z surowymi adresami pamięci w a__m128
na przykład, gdy uruchomiłem test, DWA DŁUGO wymagało ukończenia bez_mm_load_ps
instrukcji, prawdopodobnie powracając do niektórych ścieżek kodu zabezpieczających przed awarią.