Hi,

Here is the x86_64's SwapEndian() function implementation.

=============[ src/rtl/x86_64/x86_64.inc ]====================
function SwapEndian(const AValue: DWord): DWord; assembler; nostackframe;
asm
{$ifdef win64}
  movl %ecx, %eax
{$else win64}
  movl %edi, %eax
{$endif win64}
  bswap %eax
end;
=============================================

Surely the usage of IFDEF WIN64 is not 100% correct or accurate. Should
the above not rather read IFDEF CPU64?

Regards,
  - Graeme -

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to