Difference for 2d/rle.c from version 1.2 to 1.3


version 1.2 version 1.3
Line 19
 
Line 19
  * on bitmaps.   * on bitmaps.
  *    *
  * $Log$   * $Log$
    * Revision 1.3  1999/11/18 11:40:39  donut
    * more gcc 2.95 invalid asm clobber fixes
    *
  * Revision 1.2  1999/08/05 22:53:40  sekmu   * Revision 1.2  1999/08/05 22:53:40  sekmu
  *   *
  * D3D patch(es) from ADB   * D3D patch(es) from ADB
Line 162
 
Line 165
 #elif defined __GNUC__  #elif defined __GNUC__
 static inline int gr_rle_decode_asm( ubyte * src, ubyte * dest ) {  static inline int gr_rle_decode_asm( ubyte * src, ubyte * dest ) {
    register int __ret;     register int __ret;
      int dummy;
    __asm__ __volatile__ (     __asm__ __volatile__ (
 "   cld;"  "   cld;"
 "   xorl %%ecx, %%ecx;"  "   xorl %%ecx, %%ecx;"
Line 189
 
Line 193
 "   incl %%edi;"  "   incl %%edi;"
 "   jmp 1b;"  "   jmp 1b;"
 "2:"  "2:"
 : "=D" (__ret) : "S" (src), "D" (dest) : "%eax", "%ecx", "%esi");  : "=D" (__ret), "=S" (dummy) : "1" (src), "D" (dest) : "%eax", "%ecx");
   return __ret;    return __ret;
 }  }
   
 static inline void rle_stosb(char *dest, int len, int color) {  static inline void rle_stosb(char *dest, int len, int color) {
    int dummy[1];
    __asm__ __volatile__ (     __asm__ __volatile__ (
     "cld; rep; stosb"      "cld; rep; stosb"
     : : "D" (dest), "c" (len), "a" (color) : "%ecx", "%edi");      : "=D" (dummy[0]), "=c" (dummy[1])
    : "0" (dest), "1" (len), "a" (color) );
 }  }
 #elif defined _MSC_VER  #elif defined _MSC_VER
 __inline int gr_rle_decode_asm( ubyte * src, ubyte * dest )  __inline int gr_rle_decode_asm( ubyte * src, ubyte * dest )

Legend:
line(s) removed in v.1.2 
line(s) changed
 line(s) added in v.1.3