Re: Invalid combination of opcode and operands
Adriaan van Os via fpc-pascal <[email protected]> Mon, 23 Feb 2026 16:12:32 +0000 (UTC)
| Newsgroups | gmane.comp.compilers.free-pascal.general |
|---|---|
| Message-ID | <[email protected]> |
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