diff --git a/.gitattributes b/.gitattributes index 2308d88a8b..a44157148f 100644 --- a/.gitattributes +++ b/.gitattributes @@ -8473,6 +8473,7 @@ tests/webtbs/tw9347a.pp svneol=native#text/plain tests/webtbs/tw9347b.pp svneol=native#text/plain tests/webtbs/tw9384.pp svneol=native#text/plain tests/webtbs/tw9385.pp svneol=native#text/plain +tests/webtbs/tw9461.pp svneol=native#text/plain tests/webtbs/tw9667.pp svneol=native#text/plain tests/webtbs/tw9672.pp svneol=native#text/plain tests/webtbs/tw9673.pp -text diff --git a/compiler/arm/raarmgas.pas b/compiler/arm/raarmgas.pas index 9c13d0125d..be17a40038 100644 --- a/compiler/arm/raarmgas.pas +++ b/compiler/arm/raarmgas.pas @@ -628,7 +628,7 @@ Unit raarmgas; AS_COMMA: { Operand delimiter } Begin if ((instr.opcode=A_MOV) and (operandnum=2)) or - ((operandnum=3) and not(instr.opcode in [A_UMLAL,A_UMULL,A_SMLAL,A_SMULL])) then + ((operandnum=3) and not(instr.opcode in [A_UMLAL,A_UMULL,A_SMLAL,A_SMULL,A_MLA])) then begin Consume(AS_COMMA); if not(TryBuildShifterOp(instr.Operands[operandnum+1] as tarmoperand)) then diff --git a/tests/webtbs/tw9461.pp b/tests/webtbs/tw9461.pp new file mode 100644 index 0000000000..c6bf21a4c6 --- /dev/null +++ b/tests/webtbs/tw9461.pp @@ -0,0 +1,10 @@ +{ %CPU=arm } +procedure p; assembler; + var + i : longint; + asm + mla r0,r1,r2,r3 + end; + +begin +end.