Răsfoiți Sursa

* 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 ani în urmă
părinte
comite
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