AArch64 assembler error in fcl-web under -O4 -CriotR
<h3><details><summary>Original Reporter info from Mantis: <small>CuriousKit @CuriousKit</small></summary><small> - **Reporter name:** J. Gareth Moreton </small></details></h3> ## Description: When the trunk is built under the options "-O4 -CriotR", an assembler error is generated: ...<br/> Writing Resource String Table file: fpweb.rsj<br/> Assembling fpweb<br/> Assembling webpage<br/> Writing Resource String Table file: fphtml.rsj<br/> Assembling fphtml<br/> Compiling ./fcl-web/src/base/fpdatasetform.pp<br/> Assembling fpdatasetform<br/> fpdatasetform.pp(1281) Error: Error while assembling exitcode 1<br/> fpdatasetform.pp(1281) Fatal: There were 2 errors compiling module, stopping<br/> fcl-web/units/aarch64-linux/fpdatasetform.s: Assembler messages:<br/> fcl-web/units/aarch64-linux/fpdatasetform.s:2598: Error: missing extend operator at operand 3 -- `adds x19,x0,w1'<br/> Fatal: Compilation aborted This error also occurs if -OoNOPEEPHOLE is specified, indicating that the bug is not located in the Peephole Optimizerr. ## Steps to reproduce: Build the trunk under an aarch64-linux platform OPT="-O4 -CriotR" (and -a if you want the assembly dumps) and observe the error when attempting to build the fcl-web package. ## Additional information: The culprit block of code in "fcl-web/units/aarch64-linux/fpdatasetform.s" is as follows (this block isn't modified by the Peephole Optimizer and appears the same under -OoNOPEEPHOLE): .Lj361: ``` movz w23,1 sxtw x0,w22 ldr w1,[x26, 372] adds x19,x0,w1 <=== Erroneous instruction b.vc .Lj368 bl FPC_OVERFLOW .Lj368: ``` ## Mantis conversion info: - **Mantis ID:** 38840 - **OS:** Debian GNU/Linux (Raspberry Pi) - **OS Build:** 10 - **Build:** r49298 - **Platform:** aarch64-linux - **Version:** 3.3.1
issue