#1 2012-03-31 22:30:05

Amir
Member
From: UAE
Registered: 2010-08-17
Posts: 36

Delphi x64 inline assembler...

The place to exchange ideas and experiences on Delphi x64 assembly programming.


Amir

Offline

#2 2014-02-06 16:34:39

Arioch
Member
Registered: 2011-11-17
Posts: 28

Re: Delphi x64 inline assembler...

In XE2 assembler is screwed, sometimes it just inverts the logic in your code

http://qc.embarcadero.com/wc/qcmain.aspx?d=105876

and still not-fixed http://qc.embarcadero.com/wc/qcmain.aspx?d=105877

Offline

#3 2014-02-07 08:48:43

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,603
Website

Re: Delphi x64 inline assembler...

'loop' is in fact slower than dec ecx + jnz @... so it is not a big issue.

There are also some issues / missing opcodes in x64 asm.
See http://blog.synopse.info/post/2013/03/1 … -for-Win64

Offline

#4 2014-02-07 09:22:56

Arioch
Member
Registered: 2011-11-17
Posts: 28

Re: Delphi x64 inline assembler...

@ab

it maybe would not be a big issue if it changes loop for dec/jnz - apart from i COULD be dependent on the certain opcodes and their lengths.

However delphi exchanged look for an opposite instractions seq: dec cx / JZ ... ensuring loop would exit immediately

PS: after rereading my own report. Actually not even dec/jz, but just a jz without dec

Last edited by Arioch (2014-02-07 09:24:26)

Offline

Board footer

Powered by FluxBB