2
0
Эх сурвалжийг харах

* allow mla to take 4 operands, resolves #9461

git-svn-id: trunk@8801 -
florian 18 жил өмнө
parent
commit
9ab1a1c550

+ 1 - 0
.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

+ 1 - 1
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

+ 10 - 0
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.