Forum > FPC development

divpd unrecognized opcode

(1/2) > >>

mikerabat:
I was trying to translate my matrix asm library to FPC (64bit windows) and stumbled over the following error:

unrecognized opcode divpd

To show the problem I tried a simple (and not working ;) ) program which
does not compile in Lazarus 1.2.0 to 1.2.4


--- Code: ---{$ASMMODE Intel}
function TestDivp(d1, d2 : double) : double;
begin
  asm
     divdp xmm0, [r9 + rax - 128]; // unrecognized opcode
  end;
end;   
--- End code ---

I already posted a similar question on Stackoverflow and got the hint that
the divpc opcode is actually recognized by FPC 2.6.2

Has anyone an idea?

v.denis:
I guess you mean

DIVPD xmm xmm/m128 (sse2)   Divide Packed Double-FP Values

for example check reference http://ref.x86asm.net/coder64.html

mikerabat:
Yes - I just gave the simple example in code which raises an
error in a simple console Lazarus project.

Mike.Cornflake:
I think @denis was referring to the fact that you're talking about divpd, but in your code you're calling divdp (ie last two letters crossed).

mikerabat:
Thank you for the extrem valuable hint!!!
Yes it is a typo and it seems that this type is on my code and was NOT
recognized by the Delphi compiler but by the FPC compiler (eventually this code was not used in my unit testing project)!
I was just missing the forest for the trees.....

Navigation

[0] Message Index

[#] Next page

Go to full version