Browse Source

* avoid the AND instruction in the i386 shr64/shl64 code, by using TEST+JZ,
instead of CMP+JL

git-svn-id: trunk@35830 -

nickysn 8 years ago
parent
commit
7e8c89435f
1 changed files with 2 additions and 3 deletions
  1. 2 3
      compiler/i386/n386mat.pas

+ 2 - 3
compiler/i386/n386mat.pas

@@ -179,9 +179,8 @@ implementation
             { so we've to do some tricks here                           }
             current_asmdata.getjumplabel(l2);
             current_asmdata.getjumplabel(l3);
-            emit_const_reg(A_AND,S_L,63,NR_ECX);
-            emit_const_reg(A_CMP,S_L,32,NR_ECX);
-            cg.a_jmp_flags(current_asmdata.CurrAsmList,F_L,l2);
+            emit_const_reg(A_TEST,S_L,32,NR_ECX);
+            cg.a_jmp_flags(current_asmdata.CurrAsmList,F_E,l2);
             emit_const_reg(A_SUB,S_L,32,NR_ECX);
             if nodetype=shln then
               begin