Forum: Sonstige Fragen zu Delphi
Delphi
by Zacherl,
13. Mai 2016
Die AVX Register kannst du so pushen:
http://stackoverflow.com/a/10162065
Um ganz generisch zu sein, könntest du auch noch den FPU State sichern.
Forum: Sonstige Fragen zu Delphi
Delphi
by Zacherl,
13. Mai 2016
Der Vollsrändigkeit halber solltest du aber auf jeden Fall noch den State der XMM Register XMM0-XMM15 sichern. YMM, ZMM und die AVX512 Erweiterung mit X/Y/ZMM16-31 kann man denke ich außer Acht lassen, aber einige XMM Register werden für die Standard 64-Bit CallingConvention verwendet. Die würde ich deshalb auf jeden Fall noch sichern.
Forum: Sonstige Fragen zu Delphi
Delphi
by Zacherl,
1. Mai 2016
Darf man fragen, was du genau vor hast?
Unter x64 werden alleine schon von der calling-convention her nicht nur die GP-Register verwendet, sondern auch XMM, etc. Diese musst du ebenfalls saven und wieder restoren. Und das (R)/(E)FLAGS Register würde ich mir ebenfalls sichern, sofern du nicht 100%-ig garantieren kannst, dass deine aufgerufene Funktion die Flags nicht affektiert.