Ver Fonte

Merged revisions 3587-3588 via svnmerge from
http://svn.freepascal.org/svn/fpc/trunk

r3587 (florian)
+ more reg/reg reg/mem only instructions


r3588 (florian)
* movq is also a pure move

git-svn-id: branches/fixes_2_0@3589 -

florian há 19 anos atrás
pai
commit
55a3b27b99
2 ficheiros alterados com 8 adições e 2 exclusões
  1. 1 1
      compiler/x86/aasmcpu.pas
  2. 7 1
      compiler/x86/rgx86.pas

+ 1 - 1
compiler/x86/aasmcpu.pas

@@ -1987,7 +1987,7 @@ implementation
                  (oper[1]^.typ=top_reg) and
                  (oper[0]^.reg=oper[1]^.reg)
                 ) or
-                (((opcode=A_MOVSS) or (opcode=A_MOVSD)) and
+                (((opcode=A_MOVSS) or (opcode=A_MOVSD) or (opcode=A_MOVQ)) and
                  (regtype = R_MMREGISTER) and
                  (ops=2) and
                  (oper[0]^.typ=top_reg) and

+ 7 - 1
compiler/x86/rgx86.pas

@@ -199,7 +199,13 @@ implementation
                               A_CVTSS2SI,
                               A_CVTTPS2PI,
                               A_CVTTSS2SI,
-                              A_IMUL :
+                              A_IMUL,
+                              A_XORPD,
+                              A_XORPS,
+                              A_ORPD,
+                              A_ORPS,
+                              A_ANDPD,
+                              A_ANDPS:
                                 replaceoper:=-1;
                             end;
                           end;