Marco van de Voort via fpc-pascal wrote:

Op 23-2-2026 om 16:35 schreef Adriaan van Os via fpc-pascal:

The following error message seeems to be new for fpc-3.3.1 (using -RIntel)

....

    @Remainder_1:
     MOV   Length,EBX
     AND   Length,1
     JZ    @TheEnd
MOVSS xmm2,[SourceBuffer] <--- Asm: [movss xmmreg2,mem64] invalid combination of opcode and operands
     MINSS xmm0,xmm2
     MAXSS xmm1,xmm2


Has anything changed here ?

Disclaimer: I don't known 100% how OS X handles the analogue, so assuming windows for a moment.

This is on macOS indeed, originally for Windows only, later ported to macOS. Strangely, the code still has MS_ABI_Default in the code. I were told, this was needed for 32-bit x86.


Was this code meant for 64-bit or 32-bit, and are you running it on the same architecture where you originally tested/used it?

This because the sourcebuffer seems to indicate [mem64], which sounds like target 64-bit intel, which might expect a rip relative addressing like

MOVSS xmm2,[rip+SourceBuffer]

But if the code was originally 32-bit the original expression would have been valid.

The code was originally for 32-bit x86, yes but 32-bit is no longer built now.

An older FPC compiler accepts the assembly (but I am not trying to say that the 
asm is correct ...)

Regards,

Adriaan van Os
_______________________________________________
fpc-pascal maillist  -  [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to