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