Explorar o código

* fixed CompareByte for x86-64 after r37528

git-svn-id: trunk@37535 -
florian %!s(int64=7) %!d(string=hai) anos
pai
achega
5b766a1e67
Modificáronse 1 ficheiros con 7 adicións e 2 borrados
  1. 7 2
      rtl/x86_64/x86_64.inc

+ 7 - 2
rtl/x86_64/x86_64.inc

@@ -648,8 +648,13 @@ asm
 
     .balign 16
 .LCmpbyteLoop:
-    movb  (%rcx,%r8), %al
-    cmpb    (%rdx,%r8), %al
+{$ifdef oldbinutils}
+// for the reason why this alternate coding of movzbl is given here
+// see the comments in FillChar above
+    .byte 0x42,0x0F,0xB6,0x04,0x01
+{$else}
+    movzbl  (%rcx,%r8), %eax
+{$endif}    cmpb    (%rdx,%r8), %al
     jne     .LCmpbyteExitFast
     incq     %r8
     jne     .LCmpbyteLoop