2
0
Эх сурвалжийг харах

* various fixes, mostly changing the names of the modifies registers to
upper case since that seems to be required by the compiler

Jonas Maebe 23 жил өмнө
parent
commit
3a23eefecc

+ 15 - 10
rtl/powerpc/math.inc

@@ -93,9 +93,9 @@
       asm
         fctiwz   fr1,fr1
         stfd     fr1,temp.d
-        lwz      r3,temp.l2
-        // !!!! fix int64 result
-      end ['r3','f1'];
+        lwz      r3,temp.l1
+        lwz      r4,temp.l2
+      end ['R3','F1'];
 
 
     {$define FPC_SYSTEM_HAS_ROUND}
@@ -113,8 +113,9 @@
       asm
         fctiw    fr1,fr1
         stfd     fr1,temp.d
-        lwz      r3,temp.l2
-      end ['r3','f1'];
+        lwz      r3,temp.l1
+        lwz      r4,temp.l2
+      end ['R3','F1'];
 
 
    {$define FPC_SYSTEM_HAS_POWER}
@@ -207,8 +208,8 @@
  ****************************************************************************}
 
 const
-  longint_to_real_helper: int64 = 0x4330000080000000;
-  cardinal_to_real_helper: int64 = 0x430000000000000;
+  longint_to_real_helper: int64 = $4330000080000000;
+  cardinal_to_real_helper: int64 = $430000000000000;
   int_to_real_factor: double = double(high(cardinal))+1.0;
 
 function fpc_int64_to_double(i: int64): double; compilerproc;
@@ -239,7 +240,7 @@ asm
            lfd    fr2,int_to_real_factor@l(r3)
            fsub   fr3,fr3,fr1
            fmadd  fr1,fr0,fr2,fr3
-end ['r0','r3','r4','f0','f1','f2','f3'];
+end ['R0','R3','R4','F0','F1','F2','F3'];
 
 
 function fpc_qword_to_double(q: qword): double; compilerproc;
@@ -267,13 +268,17 @@ asm
            lfd    fr2,int_to_real_factor@l(r3)
            fsub   fr3,fr3,fr1
            fmadd  fr1,fr0,fr2,fr3
-end ['r0','r3','f0','f1','f2','f3'];
+end ['R0','R3','F0','F1','F2','F3'];
 
 
 
 {
   $Log$
-  Revision 1.7  2002-07-31 16:58:12  jonas
+  Revision 1.8  2002-08-10 17:14:36  jonas
+    * various fixes, mostly changing the names of the modifies registers to
+      upper case since that seems to be required by the compiler
+
+  Revision 1.7  2002/07/31 16:58:12  jonas
     * fixed conversion from int64/qword to double errors
 
   Revision 1.6  2002/07/29 21:28:17  florian

+ 40 - 38
rtl/powerpc/powerpc.inc

@@ -123,14 +123,14 @@ L8BytesAligned:
           sub     r4,r4,r10
 
 LMove32ByteLoop:
-          lfdux   f13,r3,r10
-          lfdux   f12,r3,r10
-          lfdux   f11,r3,r10
           lfdux   f0,r3,r10
-          stfdux  f13,r4,r10
-          stfdux  f12,r4,r10
-          stfdux  f11,r4,r10
+          lfdux   f1,r3,r10
+          lfdux   f2,r3,r10
+          lfdux   f3,r3,r10
           stfdux  f0,r4,r10
+          stfdux  f1,r4,r10
+          stfdux  f2,r4,r10
+          stfdux  f3,r4,r10
           bdnz    LMove32ByteLoop
 
           { cr0*4+eq is true if "count and 31" = 0 }
@@ -310,9 +310,10 @@ LFillCharDone:
 end;
 
 
-{$define FPC_SYSTEM_HAS_FILLWORD}
-procedure fillword(var x;count : longint;value : word);
-begin
+{$define FPC_SYSTEM_HAS_FILLDWORD}
+procedure filldword(var x;count : longint;value : dword);
+assembler;
+asm
 {       registers:
         r3              x
         r4              count
@@ -327,17 +328,14 @@ begin
 }
         asm
                 cmpwi   cr0,r3,0
-                andi    r17,r4,$3
-                srwi    r18,r4,1        //r18:=count div 2
-                mr              r13,r3
-                li              r14,4
-                ble             .FillWordEnd    //if count<=0 Then Exit
+                mtctr   r4
+                subi    r3,r3,4
+                ble    .FillWordEnd    //if count<=0 Then Exit
 .FillWordLoop:
-                stwux   r5,r13,r14
+                stwu    r5,4(r3)
                 bdnz    .FillWordLoop
 .FillWordEnd:
-        end ['r13','r14','ctr']
-end;
+end ['R3','R4','R5','CTR'];
 
 
 {$define FPC_SYSTEM_HAS_INDEXBYTE}
@@ -362,7 +360,7 @@ LIndexByteLoop:
                 bne     LIndexByteDone
                 sub     r3,r10,r0
 LIndexByteDone:
-end ['r0','r3','r9','r10','cr0','ctr'];
+end ['R0','R3','R9','R10','CR0','CTR'];
 
 
 {$define FPC_SYSTEM_HAS_INDEXWORD}
@@ -387,7 +385,7 @@ LIndexWordLoop:
                 bne     LIndexWordDone
                 sub     r3,r10,r0
 LIndexWordDone:
-end ['r0','r3','r9','r10','cr0','ctr'];
+end ['R0','R3','R9','R10','CR0','CTR'];
 
 
 {$define FPC_SYSTEM_HAS_INDEXDWORD}
@@ -412,7 +410,7 @@ LIndexDWordLoop:
                 bne     LIndexDWordDone
                 sub     r3,r10,r0
 LIndexDWordDone:
-end ['r0','r3','r9','r10','cr0','ctr'];
+end ['R0','R3','R9','R10','CR0','CTR'];
 
 {$define FPC_SYSTEM_HAS_COMPAREBYTE}
 function CompareByte(var buf1,buf2;len:longint):longint; assembler;
@@ -438,7 +436,7 @@ LCompByteLoop:
         { if chars not equal or at the end, we're ready }
         bdnzt   cr0*4+eq, LCompByteLoop
 LCompByteDone:
-end ['r0','r3','r4','r9','r10','cr0','ctr'];
+end ['R0','R3','R4','R9','R10','CR0','CTR'];
 
 {$define FPC_SYSTEM_HAS_COMPAREWORD}
 function CompareWord(var buf1,buf2;len:longint):longint; assembler;
@@ -464,7 +462,7 @@ LCompWordLoop:
         { if chars not equal or at the end, we're ready }
         bdnzt   cr0*4+eq, LCompWordLoop
 LCompWordDone:
-end ['r0','r3','r4','r9','r10','cr0','ctr'];
+end ['R0','R3','R4','R9','R10','CR0','CTR'];
 
 
 {$define FPC_SYSTEM_HAS_COMPAREDWORD}
@@ -491,7 +489,7 @@ LCompDWordLoop:
         { if chars not equal or at the end, we're ready }
         bdnzt   cr0*4+eq, LCompDWordLoop
 LCompDWordDone:
-end ['r0','r3','r4','r9','r10','cr0','ctr'];
+end ['R0','R3','R4','R9','R10','CR0','CTR'];
 
 {$define FPC_SYSTEM_HAS_INDEXCHAR0}
 function IndexChar0(var buf;len:longint;b:Char):longint; assembler;
@@ -519,7 +517,7 @@ LIndexChar0Loop:
         bne     LIndexChar0Done
         sub     r3,r9,r0
 LIndexChar0Done:
-end ['r0','r3','r4','r9','r10','cr0','ctr'];
+end ['R0','R3','R4','R9','R10','CR0','CTR'];
 
 
 {****************************************************************************
@@ -627,7 +625,7 @@ LShortStrCopyLoop:
         lbzu    r0,1(r5)
         stbu    r0,1(r3)
         bdnz    LShortStrCopyLoop
-end ['r0','r3','r4','r5','r10','cr0','ctr'];
+end ['R0','R3','R4','R5','R10','CR0','CTR'];
 
 
 {$define FPC_SYSTEM_HAS_FPC_SHORTSTR_COPY}
@@ -655,7 +653,7 @@ LShortStrCopyLoop:
         lbzu    r0,1(r4)
         stbu    r0,1(r5)
         bdnz    LShortStrCopyLoop
-end ['r0','r3','r4','r5','r10','cr0','ctr'];
+end ['R0','R3','R4','R5','R10','CR0','CTR'];
 
 {$define FPC_SYSTEM_HAS_FPC_SHORTSTR_CONCAT}
 function fpc_shortstr_concat(const s1,s2: shortstring): shortstring; compilerproc;
@@ -683,7 +681,7 @@ LShortStrConcatLoop:
       lbzu    r10,1(r4)
       stbu    r10,1(r3)
       bdnz    LShortStrConcatLoop
-end ['r3','r4','r8','r9','r10','ctr'];
+end ['R3','R4','R8','R9','R10','CTR'];
 
 
 {$define FPC_SYSTEM_HAS_FPC_SHORTSTR_COMPARE}
@@ -738,7 +736,7 @@ LShortStrCompareLen:
       { also return result in flags, maybe we can use this in the CG }
       mr.     r3,r0
 LShortStrCompareDone:
-end ['r0','r3','r4','r8','r9','r10','cr0','cr1','ctr'];
+end ['R0','R3','R4','R8','R9','R10','CR0','CR1','CTR'];
 
 
 {$define FPC_SYSTEM_HAS_FPC_PCHAR_TO_SHORTSTR}
@@ -757,7 +755,7 @@ function get_frame:longint;assembler;
 asm
     {$warning FIX ME!}
     //    !!!!!!! depends on ABI !!!!!!!!
-end ['r3'];
+end ['R3'];
 
 
 {$define FPC_SYSTEM_HAS_GET_CALLER_ADDR}
@@ -765,7 +763,7 @@ function get_caller_addr(framebp:longint):longint;assembler;
 asm
    {$warning FIX ME!}
     //     !!!!!!! depends on ABI !!!!!!!!
-end ['r3'];
+end ['R3'];
 
 
 {$define FPC_SYSTEM_HAS_GET_CALLER_FRAME}
@@ -773,7 +771,7 @@ function get_caller_frame(framebp:longint):longint;assembler;
 asm
     {$warning FIX ME!}
    //     !!!!!!! depends on ABI !!!!!!!!
-end ['r3'];
+end ['R3'];
 
 {$define FPC_SYSTEM_HAS_ABS_LONGINT}
 function abs(l:longint):longint; assembler;[internconst:in_const_abs];
@@ -781,7 +779,7 @@ asm
         srawi   r0,r3,31
         add     r3,r0,r3
         xor     r3,r3,r0
-end ['r0','r3'];
+end ['R0','R3'];
 
 
 {****************************************************************************
@@ -792,21 +790,21 @@ end ['r0','r3'];
 function odd(l:longint):boolean;assembler;[internconst:in_const_odd];
 asm
         rlwinm  r3,r3,0,31,31
-end ['r3'];
+end ['R3'];
 
 
 {$define FPC_SYSTEM_HAS_SQR_LONGINT}
 function sqr(l:longint):longint;assembler;[internconst:in_const_sqr];
 asm
         mullw   r3,r3,r3
-end ['r3'];
+end ['R3'];
 
 
 {$define FPC_SYSTEM_HAS_SPTR}
 Function Sptr : Longint;assembler;
 asm
         mr    r3,sp
-end ['r3'];
+end ['R3'];
 
 
 {****************************************************************************
@@ -838,7 +836,7 @@ LDecLockedLoop:
     stw     r10,0,r3
 {$endif MT}
     mr.     r3,r10
-end ['r3','r10'];
+end ['R3','R10'];
 
 procedure inclocked(var l : longint);assembler;
 asm
@@ -853,12 +851,16 @@ LIncLockedLoop:
     addi    r10,r10,1
     stw     r10,0,r3
 {$endif MT}
-end ['r3','r10'];
+end ['R3','R10'];
 
 
 {
   $Log$
-  Revision 1.11  2002-07-30 17:29:53  florian
+  Revision 1.12  2002-08-10 17:14:36  jonas
+    * various fixes, mostly changing the names of the modifies registers to
+      upper case since that seems to be required by the compiler
+
+  Revision 1.11  2002/07/30 17:29:53  florian
     + dummy setjmp and longjmp added
     + dummy implemtation of the destructor helper
 

+ 33 - 16
rtl/powerpc/set.inc

@@ -15,6 +15,7 @@
 
  **********************************************************************}
 
+{$define FPC_SYSTEM_HAS_FPC_SET_LOAD_SMALL}
 function fpc_set_load_small(l: fpc_small_set): fpc_normal_set;assembler;[public,alias:'FPC_SET_LOAD_SMALL']; compilerproc;
 {
   load a normal set p from a smallset l
@@ -31,9 +32,10 @@ asm
         stw     r0,20(r3)
         stw     r0,24(r3)
         stw     r0,28(r3)
-end ['r0'];
+end ['R0'];
 
 
+{$define FPC_SYSTEM_HAS_FPC_SET_CREATE_ELEMENT}
 { checked 2001/09/28 (JM) }
 function fpc_set_create_element(b : byte): fpc_normal_set;assembler;[public,alias:'FPC_SET_CREATE_ELEMENT']; compilerproc;
 {
@@ -64,8 +66,10 @@ asm
 
         // store the result
         stwx    r0,r3,r4
-end ['r0','r4','r10'];
+end ['R0','R4','R10'];
 
+
+{$define FPC_SYSTEM_HAS_FPC_SET_SET_BYTE}
 function fpc_set_set_byte(const source: fpc_normal_set; b : byte): fpc_normal_set;assembler; compilerproc;
 {
   add the element b to the set pointed by p
@@ -91,14 +95,15 @@ Lset_set_byte_copy:
        li       r0,1
        // generate bit which has to be inserted
        // (can't use rlwimi, since that one only works for constants)
-       rlwnm    r5,r0,r5
+       slw      r5,r0,r5
        // insert it
        or       r5,r4,r5
        // store result
        stw      r5,(r3)
-end ['r0','r3','r4','r5','ctr'];
+end ['R0','R3','R4','R5','CTR'];
 
 
+{$define FPC_SYSTEM_HAS_FPC_SET_UNSET_BYTE}
 function fpc_set_unset_byte(const source: fpc_normal_set; b : byte): fpc_normal_set;assembler; compilerproc;
 {
   suppresses the element b to the set pointed by p
@@ -129,9 +134,10 @@ Lset_unset_byte_copy:
        andc     r5,r4,r5
        // store result
        stw      r4,(r3)
-end ['r0','r3','r4','r5','ctr'];
+end ['R0','R3','R4','R5','CTR'];
 
 
+{$define FPC_SYSTEM_HAS_FPC_SET_SET_RANGE}
 function fpc_set_set_range(const orgset: fpc_normal_set; l,h : byte): fpc_normal_set;assembler; compilerproc;
 {
   on entry: result in r3, l in r4, h in r5
@@ -182,7 +188,7 @@ Lset_range_loop:
 Lset_range_hi:                // in all cases, r3 here contains the address of
                               //  the longint which contains the hi bit and r4
                               //  contains this longint
-  slw    r9,r10,r6            // r7 := bitmask shl (31 - (hi mod 32)) =
+  slw    r9,r10,r6            // r9 := bitmask shl (31 - (hi mod 32)) =
                               //  bitmask with bits higher than hi cleared
                               //  (r8 = $0xffffffff unless the first beq was
                               //   taken)
@@ -190,7 +196,7 @@ Lset_range_hi:                // in all cases, r3 here contains the address of
   or     r5,r5,r10            // and combine with existing set
   stw    r5,(r3)              // store to set
 Lset_range_exit:
-end ['r0','r3','r4','r5','r6','r9','r10','cr0','ctr'];
+end ['R0','R3','R4','R5','R6','R9','R10','CR0','CTR'];
 
 
 {$define FPC_SYSTEM_HAS_FPC_SET_IN_BYTE}
@@ -206,15 +212,17 @@ asm
        rlwinm   r0,r4,31-3+1,3,31-2
        // load dword in which the bit has to be tested
        lwzx     r3,r3,r0
+
        li       r0,1
        // generate bit which has to be tested
        rwlwnm   r4,r0,r4,0,31
        // test it
        and.     r3,r3,r4
-end ['r0','r3','r4','cr0'];
+end ['R0','R3','R4','CR0'];
 
 
 
+{$define FPC_SYSTEM_HAS_FPC_SET_ADD_SETS}
 function fpc_set_add_sets(const set1,set2: fpc_normal_set): fpc_normal_set;assembler;[public,alias:'FPC_SET_ADD_SETS']; compilerproc;
 {
   adds set1 and set2 into set dest
@@ -234,10 +242,10 @@ asm
       or        r0,r0,r10
       stwu      r0,4(r3)
       bdnz      LMADDSETS1
-end ['r0','r3','r4','r5','r10','ctr'];
-
+end ['R0','R3','R4','R5','R10','CTR'];
 
 
+{$define FPC_SYSTEM_HAS_FPC_SET_MUL_SETS}
 function fpc_set_mul_sets(const set1,set2: fpc_normal_set): fpc_normal_set;assembler;[public,alias:'FPC_SET_MUL_SETS']; compilerproc;
 {
   multiplies (takes common elements of) set1 and set2 result put in dest
@@ -257,9 +265,10 @@ asm
       and       r0,r0,r10
       stwu      r0,4(r3)
       bdnz      LMMULSETS1
-end ['r0','r3','r4','r5','r10','ctr'];
+end ['R0','R3','R4','R5','R10','CTR'];
 
 
+{$define FPC_SYSTEM_HAS_FPC_SET_SUB_SETS}
 function fpc_set_sub_sets(const set1,set2: fpc_normal_set): fpc_normal_set;assembler;[public,alias:'FPC_SET_SUB_SETS']; compilerproc;
 {
   computes the diff from set1 to set2 result in dest
@@ -279,9 +288,10 @@ asm
       andc      r0,r0,r10
       stwu      r0,4(r3)
       bdnz      LMSUBSETS1
-end ['r0','r3','r4','r5','r10','ctr'];
+end ['R0','R3','R4','R5','R10','CTR'];
 
 
+{$define FPC_SYSTEM_HAS_FPC_SET_SYMDIF_SETS}
 function fpc_set_symdif_sets(const set1,set2: fpc_normal_set): fpc_normal_set;assembler;[public,alias:'FPC_SET_SYMDIF_SETS']; compilerproc;
 {
    computes the symetric diff from set1 to set2 result in dest
@@ -301,9 +311,10 @@ asm
       xor       r0,r0,r10
       stwu      r0,4(r3)
       bdnz      LMSYMDIFSETS1
-end ['r0','r3','r4','r5','r10','ctr'];
+end ['R0','R3','R4','R5','R10','CTR'];
 
 
+{$define FPC_SYSTEM_HAS_FPC_SET_COMP_SETS}
 function fpc_set_comp_sets(const set1,set2: fpc_normal_set): boolean;assembler;[public,alias:'FPC_SET_COMP_SETS']; compilerproc;
 {
   compares set1 and set2 zeroflag is set if they are equal
@@ -321,8 +332,10 @@ asm
        bdnzt    cr0*4+eq,LMCOMPSETS1
        cntlzw   r3,r0
        srwi.    r3,r3,31
-end ['r0','r3','r4','r10','cr0','ctr'];
+end ['R0','R3','R4','R10','CR0','CTR'];
 
+
+{$define FPC_SYSTEM_HAS_FPC_SET_CONTAINS_SET}
 function fpc_set_contains_sets(const set1,set2: fpc_normal_set): boolean;assembler;[public,alias:'FPC_SET_CONTAINS_SETS']; compilerproc;
 {
   on exit, zero flag is set if set1 <= set2 (set2 contains set1)
@@ -341,7 +354,7 @@ asm
        bdnzt    cr0*4+eq,LMCONTAINSSETS1
        cntlzw   r3,r0
        srwi.    r3,r3,31
-end ['r0','r3','r4','r10','cr0','ctr'];
+end ['R0','R3','R4','R10','CR0','CTR'];
 
 
 
@@ -510,7 +523,11 @@ end;
 
 {
   $Log$
-  Revision 1.11  2002-07-28 20:43:49  florian
+  Revision 1.12  2002-08-10 17:14:36  jonas
+    * various fixes, mostly changing the names of the modifies registers to
+      upper case since that seems to be required by the compiler
+
+  Revision 1.11  2002/07/28 20:43:49  florian
     * several fixes for linux/powerpc
     * several fixes to MT
 

+ 7 - 1
rtl/powerpc/setjump.inc

@@ -18,15 +18,21 @@
 { the necessary code can be copied from the linux kernel sources }
 function setjmp(var S : jmp_buf) : longint;assembler;
   asm
+    {$warning FIXME!!!!}
   end;
 
 procedure longjmp(var S : jmp_buf;value : longint);assembler;
   asm
+    {$warning FIXME!!!!}
   end;
 
 {
   $Log$
-  Revision 1.2  2002-07-30 17:29:53  florian
+  Revision 1.3  2002-08-10 17:14:36  jonas
+    * various fixes, mostly changing the names of the modifies registers to
+      upper case since that seems to be required by the compiler
+
+  Revision 1.2  2002/07/30 17:29:53  florian
     + dummy setjmp and longjmp added
     + dummy implemtation of the destructor helper
 

+ 6 - 1
rtl/powerpc/setjumph.inc

@@ -17,6 +17,7 @@
 
 type
    jmp_buf = record
+    {$warning FIXME!!!!}
    end;
    pjmp_buf = ^jmp_buf;
 
@@ -25,7 +26,11 @@ procedure longjmp(var S : jmp_buf;value : longint);
 
 {
   $Log$
-  Revision 1.3  2002-07-26 22:46:17  florian
+  Revision 1.4  2002-08-10 17:14:36  jonas
+    * various fixes, mostly changing the names of the modifies registers to
+      upper case since that seems to be required by the compiler
+
+  Revision 1.3  2002/07/26 22:46:17  florian
     * interface of system unit for Linux/PowerPC compiles
 
   Revision 1.2  2002/07/26 22:08:38  florian

+ 17 - 13
rtl/powerpc/strings.inc

@@ -79,7 +79,7 @@ LStrCopyWrapUpLoop:
         bge     LStrCopyWrapUpLoop
 LStrCopyDone:
         {  r3 still contains dest here  }
-end ['r4','r7','r8','r0','r9','r10','cr0','ctr'];
+end ['R4','R7','R8','R0','R9','R10','CR0','CTR'];
 
 
 function strecopy(dest,source : pchar) : pchar;assembler;
@@ -136,7 +136,7 @@ LStrCopyWrapUpLoop:
         bge     LStrCopyWrapUpLoop
 LStrCopyDone:
         {  r3 contains new dest here  }
-end ['r3','r4','r8','r0','r3','r10','cr0','ctr'];
+end ['R3','R4','R8','R0','R3','R10','CR0','CTR'];
 
 
 function strlcopy(dest,source : pchar;maxlen : longint) : pchar;assembler;
@@ -159,7 +159,7 @@ LStrlCopyLoop:
         li      r10,0
         stb     r10,1(r0)
 LStrlCopyDone:
-end ['r0','r4','r30','cr0'];
+end ['R0','R4','R10','CR0'];
 
 
 function strlen(p : pchar) : longint;assembler;
@@ -181,7 +181,7 @@ LStrEndLoop:
         cmpli   r0,0
         bne     LStrEndLoop
 LStrEndDone:
-end ['r0','r3','r4','cr0'];
+end ['R0','R3','R4','CR0'];
 
 
 function strcomp(str1,str2 : pchar) : longint;assembler;
@@ -207,7 +207,7 @@ LStrCompLoop:
         { otherwise loop                                                    }
         bne     cr1,LStrCompLoop
 LStrCompDone:
-end ['r0','r3','r4','r9','r10','cr0','cr1'];
+end ['R0','R3','R4','R9','R10','CR0','CR1'];
 
 
 function strlcomp(str1,str2 : pchar;l : longint) : longint;assembler;
@@ -240,7 +240,7 @@ LStrlCompLoop:
         { otherwise loop (if ctr <> 0)                                      }
         bdnzf  cr1*4+eq,LStrlCompLoop
 LStrlCompDone:
-end ['r0','r3','r4','r9','r10','cr0','cr1','ctr'];
+end ['R0','R3','R4','R9','R10','CR0','CR1','CTR'];
 
 
 function stricomp(str1,str2 : pchar) : longint;assembler;
@@ -303,7 +303,7 @@ LStriCompEqual:
         { otherwise loop                                                    }
         bne     cr1,LStriCompLoop
 LStriCompDone:
-end ['r3','r4','r26','r27','r28','r29','r30','cr0','cr1'];
+end ['R3','R4','R26','R27','R28','R29','R30','CR0','CR1'];
 
 
 function strlicomp(str1,str2 : pchar;l : longint) : longint;assembler;
@@ -361,7 +361,7 @@ LStriCompEqual:
         { otherwise loop (if ctr <> 0)                                      }
         bdnzf    cr1*4+eq,LStriCompLoop
 LStriCompDone:
-end ['r0','r3','r4','r5','r7','r8','r9','r10','cr0','cr1','ctr'];
+end ['R0','R3','R4','R5','R7','R8','R9','R10','CR0','CR1','CTR'];
 
 
 function strscan(p : pchar;c : char) : pchar;assembler;
@@ -378,7 +378,7 @@ LStrScanLoop:
         beq     cr1,LStrScanDone
         bne     LStrScanLoop
 LStrScanDone:
-end ['r0','r3','r4','cr0','cr1'];
+end ['R0','R3','R4','CR0','CR1'];
 
 
 function strrscan(p : pchar;c : char) : pchar;assembler;
@@ -408,7 +408,7 @@ LStrrScanNotFound:
         and     r10,r10,r0  { r10 = (r0 >= r3) ? 0 : r0 - r3         }
         add     r3,r10,r3   { r3  = (r0 >= r3) ?  r3 : r0            }
 LStrrScanDone:
-end ['r0','r3','r4','r10','cr0','cr1'];
+end ['R0','R3','R4','R10','CR0','CR1'];
 
 
 function strupper(p : pchar) : pchar;assembler;
@@ -428,7 +428,7 @@ LStrUpperLoop:
 LStrUpper1:
         bne     cr1,LStrUpperLoop
 LStrUpperNil:
-end ['r0','r9','r10','cr0','cr1'];
+end ['R0','R9','R10','CR0','CR1'];
 
 
 function strlower(p : pchar) : pchar;assembler;
@@ -448,12 +448,16 @@ LStrLowerLoop:
 LStrLower1:
         bne     cr1,LStrLowerLoop
 LStrLowerNil:
-end ['r0','r9','r10','cr0','cr1'];
+end ['R0','R9','R10','CR0','CR1'];
 
 
 {
   $Log$
-  Revision 1.10  2001-09-28 13:25:04  jonas
+  Revision 1.11  2002-08-10 17:14:36  jonas
+    * various fixes, mostly changing the names of the modifies registers to
+      upper case since that seems to be required by the compiler
+
+  Revision 1.10  2001/09/28 13:25:04  jonas
     * fixed wrong alignment code (sometimes we aligned to multiple of 8
       instead of the desired multiple of 4)
 

+ 6 - 2
rtl/powerpc/stringss.inc

@@ -37,11 +37,15 @@ LStrPCopyLoop:
         li      r10,0
 LStrPCopyEmpty:
         stb     r10,1(r0)
-end ['r0','r4','r10','cr0','ctr'];
+end ['R0','R4','R10','CR0','CTR'];
 
 {
   $Log$
-  Revision 1.4  2001-09-27 15:30:29  jonas
+  Revision 1.5  2002-08-10 17:14:36  jonas
+    * various fixes, mostly changing the names of the modifies registers to
+      upper case since that seems to be required by the compiler
+
+  Revision 1.4  2001/09/27 15:30:29  jonas
     * conversion to compilerproc and to structure used by i386 rtl
     * some bugfixes
     * powerpc.inc is almost complete (only fillchar/word/dword, get_frame etc

+ 6 - 2
rtl/powerpc/strlen.inc

@@ -30,11 +30,15 @@ LStrLenLoop:
         bne     LStrLenLoop
         sub     r3,r29,r3
 LStrLenDone:
-end ['r3','r4','r29','r30','cr0'];
+end ['R3','R4','R29','R30','CR0'];
 
 {
   $Log$
-  Revision 1.1  2001-09-27 15:30:29  jonas
+  Revision 1.2  2002-08-10 17:14:36  jonas
+    * various fixes, mostly changing the names of the modifies registers to
+      upper case since that seems to be required by the compiler
+
+  Revision 1.1  2001/09/27 15:30:29  jonas
     * conversion to compilerproc and to structure used by i386 rtl
     * some bugfixes
     * powerpc.inc is almost complete (only fillchar/word/dword, get_frame etc

+ 6 - 2
rtl/powerpc/strpas.inc

@@ -46,11 +46,15 @@ LStrPasLoop:
 
         { store length }
         stb     r10,0(r3)
-end ['r0','r3','r4','r10','cr0','ctr'];
+end ['R0','R3','R4','R10','CR0','CTR'];
 
 {
   $Log$
-  Revision 1.2  2001-09-28 13:23:44  jonas
+  Revision 1.3  2002-08-10 17:14:36  jonas
+    * various fixes, mostly changing the names of the modifies registers to
+      upper case since that seems to be required by the compiler
+
+  Revision 1.2  2001/09/28 13:23:44  jonas
     * small optimization
 
   Revision 1.1  2001/09/27 15:30:29  jonas