Einzelnen Beitrag anzeigen

Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#38

AW: Geschwindigkeitsvorteil 64 ggüb. 32 Bit - woran ermitteln?

  Alt 11. Nov 2011, 13:56
Free Pascal verfügt über eine "SoftFPU" Unit, welche es letztendlich erlauben soll 32, 64, 80 und 128 Bit Operationen in Software durchzuführen (mit dazugehörigen Datentypen). Die Unit soll letztendlich dazu verwendet werden, um von Systemen, die keinen 80-Bit Datentyp unterstützten (x86_64, ARM), auf Systeme zu kompilieren, die das tun (x86). Das Problem ist nämlich, dass Konstanten vom Compiler immer mit der höchsten für die Zielplattform verfügbaren Genauigkeit evaluiert werden sollten. Von x86 nach x86_64 ist das kein Problem, da der Compiler dann einfach nur mit der 64-Bit Genauigkeit evaluiert, aber von x86_64 nach x86 ist das problematisch, da ersterer nur bis 64-Bit Genauigkeit anbietet. Dies kann im Worstcase zu Programmen führen, die sich unterschiedlich verhalten je nachdem ob sie nativ unter x86 oder cross kompiliert wurden. Das darf natürlich nicht sein.
Die Unit basiert auf C-Code und ist leider noch nicht komplett konvertiert (nur die 32 und 64 Bit Operationen sind bereits konvertiert).

Gruß,
Sven
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat