Lots of valid assembler opcodes no longer recognized
Original Reporter info from Mantis: scamp
-
Reporter name: Simon Kissel
Original Reporter info from Mantis: scamp
- Reporter name: Simon Kissel
Description:
In 3.3.1, a lot of perfectly valid assembler opcodes are no longer
recognized (no matter if the internal or external assembler is used):
Examples of failing assembler instructions:
SBMath.pas(1932,9) Error: Asm: [cmp imm32,imm8s] invalid combination of opcode and operands
SBMath.pas(1934,5) Error: Asm: [lea reg32,imm32] invalid combination of opcode and operands
SBMath.pas(1948,5) Error: Asm: [lea reg32,imm32] invalid combination of opcode and operands
The attached test project (SBMath.pas is a commercial component, so I can share it) produces
sggZlib.pas(461,3) Error: Asm: [lea reg32,imm32] invalid combination of opcode and operands
Please note that once you comment out the assembler code, instead Internal error 200603253 will be thrown.
For this, see:
https://bugs.freepascal.org/view.php?id=34646
Steps to reproduce:
Edit the .fpccfg-i386 config file to match your compiler paths, modify crash_i386.bat, then run crash_i386.bat
Mantis conversion info:
- Mantis ID: 34647
- Platform: i386-linux
- Version: 3.3.1