Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 3rd, 2012  |  syntax: None  |  size: 1.00 KB  |  hits: 15  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. diff --git a/rtl/arm/arm.inc b/rtl/arm/arm.inc
  2. index fa68c21..54ff54e 100644
  3. --- a/rtl/arm/arm.inc
  4. +++ b/rtl/arm/arm.inc
  5. @@ -826,7 +826,7 @@ is bigger than the gain of the optimized function.
  6.  function AsmSwapEndian(const AValue: SmallInt): SmallInt;{$ifdef SYSTEMINLINE}inline;{$endif};assembler;nostackframe;
  7.  asm
  8.         // We're starting with 4321
  9. -{$if defined(cpuarmv3) or defined(cpuarmv4) or defined(cpuarmv5)}
  10. +{$if defined(cpuarmv3) or defined(cpuarmv4) or defined(cpuarmv5) or defined(VER2_6)}
  11.         mov r0, r0, shl #16     // Shift to make that 2100
  12.         mov r0, r0, ror #24     // Rotate to 1002
  13.         orr r0, r0, r0 shr #16  // Shift and combine into 0012
  14. @@ -864,7 +864,7 @@ end;
  15.  
  16.  function SwapEndian(const AValue: Int64): Int64; assembler; nostackframe;
  17.  asm
  18. -{$if defined(cpuarmv3) or defined(cpuarmv4) or defined(cpuarmv5)}
  19. +{$if defined(cpuarmv3) or defined(cpuarmv4) or defined(cpuarmv5) or defined(VER2_6)}
  20.          mov ip, r1
  21.  
  22.          // We're starting with r0 = $87654321