Description: <short summary of the patch>
fixup some conditionals in arm assembler to avoid using instrutions that
fpc 2.6.0 doesn't support when building the rtl with 2.6.0 (first stage)
Author: Peter Michael Green <plugwash@debian.org>
Forwarded: not-needed
Last-Update: 2013-05-30
--- fpc-2.6.2.orig/fpcsrc/rtl/arm/arm.inc
+++ fpc-2.6.2/fpcsrc/rtl/arm/arm.inc
@@ -895,7 +895,7 @@ end;
function SwapEndian(const AValue: LongInt): LongInt;assembler;nostackframe;
asm
// We're starting with r0 = 4321
-{$if defined(cpuarmv3) or defined(cpuarmv4) or defined(cpuarmv5)}
+{$if defined(cpuarmv3) or defined(cpuarmv4) or defined(cpuarmv5) or defined(ver2_6_0)}
mov r2, r0, lsr #24 // r2 = 0004
and r1, r0, #16711680 // r1 = 0300
orr r2, r2, r0, lsl #24 // r2 = 1004
@@ -910,7 +910,7 @@ end;
function SwapEndian(const AValue: DWord): DWord;assembler;nostackframe;
asm
// We're starting with r0 = 4321
-{$if defined(cpuarmv3) or defined(cpuarmv4) or defined(cpuarmv5)}
+{$if defined(cpuarmv3) or defined(cpuarmv4) or defined(cpuarmv5) or defined(ver2_6_0)}
mov r2, r0, lsr #24 // r2 = 0004
and r1, r0, #16711680 // r1 = 0300
orr r2, r2, r0, lsl #24 // r2 = 1004
@@ -925,7 +925,7 @@ end;
function SwapEndian(const AValue: Int64): Int64; assembler; nostackframe;
asm
// We're starting with r0 = 4321 r1 = 8765
-{$if defined(cpuarmv3) or defined(cpuarmv4) or defined(cpuarmv5)}
+{$if defined(cpuarmv3) or defined(cpuarmv4) or defined(cpuarmv5) or defined(ver2_6_0)}
mov ip, r1
mov r2, r0, lsr #24 // r2 = 0004
@@ -952,7 +952,7 @@ end;
function SwapEndian(const AValue: QWord): QWord; assembler; nostackframe;
asm
// We're starting with r0 = 4321 r1 = 8765
-{$if defined(cpuarmv3) or defined(cpuarmv4) or defined(cpuarmv5)}
+{$if defined(cpuarmv3) or defined(cpuarmv4) or defined(cpuarmv5) or defined(ver2_6_0)}
mov ip, r1
mov r2, r0, lsr #24 // r2 = 0004