Browse Source

+ add missing it* statements for thumb2 by a modified patch of Jeppe Johansen, resolves #23738

git-svn-id: trunk@23540 -
florian 12 years ago
parent
commit
5af646d1d2
1 changed files with 12 additions and 0 deletions
  1. 12 0
      rtl/arm/strings.inc

+ 12 - 0
rtl/arm/strings.inc

@@ -24,6 +24,9 @@ asm
         ldrb    r1, [ip] // First loop does not postindex
 .LByteLoop:
         cmp     r1, #0
+{$if defined(cputhumb2)}
+        it eq
+{$endif}
 {$if defined(cpuarmv3) or defined(cpuarmv4)}
         moveq   pc, lr
 {$else}
@@ -32,6 +35,9 @@ asm
 
         sub     r2, r1, #97   // Normalize to zero
         cmp     r2, #25       // temp >= 0 and temp <=25
+{$if defined(cputhumb2)}
+        itt ls
+{$endif}
         subls   r1, r1, #32   // is lowercase, make uppercase
         strlsb  r1, [ip]      // Store only on change
         ldrb    r1, [ip, #1]! // Loading here utilizes a load delay slot
@@ -48,6 +54,9 @@ asm
         ldrb    r1, [ip] // First loop does not postindex
 .LByteLoop:
         cmp     r1, #0
+{$if defined(cputhumb2)}
+        it eq
+{$endif}
 {$if defined(cpuarmv3) or defined(cpuarmv4)}
         moveq   pc, lr
 {$else}
@@ -56,6 +65,9 @@ asm
 
         sub     r2, r1, #65   // Normalize to zero
         cmp     r2, #25       // temp >= 0 and temp <=25
+{$if defined(cputhumb2)}
+        itt ls
+{$endif}
         addls   r1, r1, #32   // Is uppercase, make lowercase
         strlsb  r1, [ip]      // Store only on change
         ldrb    r1, [ip, #1]! // Loading here utilizes a load delay slot