Thema: Delphi 16 Byte Alignment? (SSE)

Einzelnen Beitrag anzeigen

Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#8

AW: 16 Byte Alignment? (SSE)

  Alt 13. Dez 2011, 08:21
ah danke

align als record zusatz scheint wohl auch unter XE zu funktionieren(D7 noch nicht).

@Uwe sofern ich das richtig verstanden habe, sollte der Record auf einer 16Byte grenze liegen, um bei den SSE befehlen z.B. movaps nutzen zu können anstatt movups(a für aligned und u für unaligned).

Bei dem versuch aligned zu nutzen klatschts aber gerade noch gewaltig^^.

"AV read of address FFFFFFFF"

so schauts gerade aus:

Delphi-Quellcode:
movaps XMM0, [VecA];
movaps XMM1, [VecB];
addps XMM0, XMM1;
movups [Result], XMM0;
das ganze ist in einer funktion geschrieben, die die beiden vectoren übergeben bekommt.(vom typ TTest).

VecA u. VecB sind als const parameter deklariert.


Irgendwas läuft schief o.O
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden
  Mit Zitat antworten Zitat