[fpc-devel] The 15k bounty: Optimizing executable speed for Linux x86 / LLVM

Simon Kissel simon.kissel at nerdherrschaft.com
Tue Dec 4 02:16:29 CET 2018


Hi Florian,

we are currently to try to do some real-life benchmarks with our
products, however with rev. 40346 compilation fails with the two following
showstoppers:

1.)

The assembler parser appears to be broken - the following very valid
opcodes get rejected:

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(1939,9) Error: Asm: [cmp imm32,imm8s] invalid combination of opcode and operands
SBMath.pas(1941,5) Error: Asm: [lea reg32,imm32] invalid combination of opcode and operands
SBMath.pas(1946,9) Error: Asm: [cmp imm32,imm8s] invalid combination of opcode and operands
SBMath.pas(1948,5) Error: Asm: [lea reg32,imm32] invalid combination of opcode and operands
SBMath.pas(1953,3) Error: Asm: [lea reg32,imm32] invalid combination of opcode and operands
SBMath.pas(1954,3) Error: Asm: [lea reg32,imm32] invalid combination of opcode and operands
SBMath.pas(1955,3) Error: Asm: [lea reg32,imm32] invalid combination of opcode and operands
SBMath.pas(1972,3) Error: Asm: [lea reg32,imm32] invalid combination of opcode and operands
SBMath.pas(1976,5) Error: Asm: [lea reg32,imm32] invalid combination of opcode and operands
SBMath.pas(1981,5) Error: Asm: [lea reg32,imm32] invalid combination of opcode and operands
SBMath.pas(1982,5) Error: Asm: [lea reg32,imm32] invalid combination of opcode and operands

(-Tlinux -XPi386-linux- -CpPENTIUMM -O2 -OoCSE -CfSSE2 -Ooorderfields)

2.)

On ARM, I get Internal error 200603253 at various places:

SBMath.pas(1989,1) Fatal: Internal error 200603253
(sadly the line numbers are complete off for unknown reasons, so I can
not find the actual source line causing this)

But also happens at various other places. Most easy to reproduce by
compiling PasZLib-SG (e.g. https://github.com/Soldat/PasZlib-SG).


Any clues?

BR,

Simon




More information about the fpc-devel mailing list