Explorar o código

* fixed srwi's after cntlzw instructions (should be 5 instead of 31)

Jonas Maebe %!s(int64=23) %!d(string=hai) anos
pai
achega
e2ff3fe87a
Modificáronse 2 ficheiros con 12 adicións e 6 borrados
  1. 6 3
      rtl/powerpc/set.inc
  2. 6 3
      rtl/powerpc/strpas.inc

+ 6 - 3
rtl/powerpc/set.inc

@@ -331,7 +331,7 @@ asm
        sub.     r0,r0,r10
        bdnzt    cr0*4+eq,LMCOMPSETS1
        cntlzw   r3,r0
-       srwi.    r3,r3,31
+       srwi.    r3,r3,5
 end ['R0','R3','R4','R10','CR0','CTR'];
 
 
@@ -353,7 +353,7 @@ asm
        andc.    r0,r0,r10
        bdnzt    cr0*4+eq,LMCONTAINSSETS1
        cntlzw   r3,r0
-       srwi.    r3,r3,31
+       srwi.    r3,r3,5
 end ['R0','R3','R4','R10','CR0','CTR'];
 
 
@@ -523,7 +523,10 @@ end;
 
 {
   $Log$
-  Revision 1.15  2002-09-07 16:01:26  peter
+  Revision 1.16  2002-10-17 10:14:46  jonas
+    * fixed srwi's after cntlzw instructions (should be 5 instead of 31)
+
+  Revision 1.15  2002/09/07 16:01:26  peter
     * old logs removed and tabs fixed
 
   Revision 1.14  2002/08/18 22:11:10  florian

+ 6 - 3
rtl/powerpc/strpas.inc

@@ -39,8 +39,8 @@ LStrPasLoop:
         { get remaining count for length }
         mfctr   r10
         { if r10 was zero (-> stopped because of zero byte), then r4 will be 32 }
-        { (32 leading zero bits) -> shr 31 = 1, otherwise this will be zero     }
-        srwi    r4,r4,31
+        { (32 leading zero bits) -> shr 5 = 1, otherwise this will be zero      }
+        srwi    r4,r4,5
         subfic  r10,r10,255
         sub     r10,r10,r4
 
@@ -50,7 +50,10 @@ end ['R0','R3','R4','R10','R11','CR0','CTR'];
 
 {
   $Log$
-  Revision 1.7  2002-09-11 07:49:40  jonas
+  Revision 1.8  2002-10-17 10:14:46  jonas
+    * fixed srwi's after cntlzw instructions (should be 5 instead of 31)
+
+  Revision 1.7  2002/09/11 07:49:40  jonas
     * fixed assembler errors
 
   Revision 1.6  2002/09/07 16:01:26  peter