[BACK]Return to Z.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / engine

Diff for /OpenXM_contrib2/asir2000/engine/Z.c between version 1.8 and 1.15

version 1.8, 2006/10/15 23:44:30 version 1.15, 2015/08/29 04:15:04
Line 3 
Line 3 
 #include "inline.h"  #include "inline.h"
   
 #if defined(__GNUC__)  #if defined(__GNUC__)
 #define INLINE inline  #define INLINE static inline
 #elif defined(VISUAL)  #elif defined(VISUAL)
 #define INLINE __inline  #define INLINE __inline
 #else  #else
Line 677  int _addz_main(unsigned int *m1,int d1,unsigned int *m
Line 677  int _addz_main(unsigned int *m1,int d1,unsigned int *m
                 t = m1; m1 = m2; m2 = t;                  t = m1; m1 = m2; m2 = t;
                 d = d1; d1 = d2; d2 = d;                  d = d1; d1 = d2; d2 = d;
         }          }
 #if defined(VISUAL)  #if defined(_M_IX86) && !defined(__MINGW32__)
         __asm {          __asm {
         push    esi          push    esi
         push    edi          push    edi
Line 702  int _addz_main(unsigned int *m1,int d1,unsigned int *m
Line 702  int _addz_main(unsigned int *m1,int d1,unsigned int *m
         adc eax,eax          adc eax,eax
         mov c,eax          mov c,eax
         }          }
 #elif defined(i386)  #elif defined(i386) && !defined(__MINGW32__)
         asm volatile("\          asm volatile("\
           pushl   %%ebx;\
         movl    %1,%%esi;\          movl    %1,%%esi;\
         movl    %2,%%edi;\          movl    %2,%%edi;\
         movl    %3,%%ebx;\          movl    %3,%%ebx;\
Line 721  int _addz_main(unsigned int *m1,int d1,unsigned int *m
Line 722  int _addz_main(unsigned int *m1,int d1,unsigned int *m
         jnz Lstart__addz;\          jnz Lstart__addz;\
         movl    $0,%%eax;\          movl    $0,%%eax;\
         adcl    %%eax,%%eax;\          adcl    %%eax,%%eax;\
         movl    %%eax,%0"\          movl    %%eax,%0;\
           popl    %%ebx"\
         :"=m"(c)\          :"=m"(c)\
         :"m"(m1),"m"(m2),"m"(mr),"m"(d2)\          :"m"(m1),"m"(m2),"m"(mr),"m"(d2)\
         :"eax","ebx","ecx","edx","esi","edi");          :"eax","ecx","edx","esi","edi");
 #else  #else
         for ( i = 0, c = 0; i < d2; i++, m1++, m2++, mr++ ) {          for ( i = 0, c = 0; i < d2; i++, m1++, m2++, mr++ ) {
                 tmp = *m1 + *m2;                  tmp = *m1 + *m2;
Line 767  int _subz_main(unsigned int *m1,int d1,unsigned int *m
Line 769  int _subz_main(unsigned int *m1,int d1,unsigned int *m
                 m = m1; m1 = m2; m2 = m;                  m = m1; m1 = m2; m2 = m;
                 d = d1; d1 = d2; d2 = d;                  d = d1; d1 = d2; d2 = d;
         }          }
 #if defined(VISUAL)  #if defined(_M_IX86) && !defined(__MINGW32__)
         __asm {          __asm {
         push    esi          push    esi
         push    edi          push    edi
Line 792  int _subz_main(unsigned int *m1,int d1,unsigned int *m
Line 794  int _subz_main(unsigned int *m1,int d1,unsigned int *m
         adc eax,eax          adc eax,eax
         mov br,eax          mov br,eax
         }          }
 #elif defined(i386)  #elif defined(i386) && !defined(__MINGW32__)
         asm volatile("\          asm volatile("\
           pushl   %%ebx;\
         movl    %1,%%esi;\          movl    %1,%%esi;\
         movl    %2,%%edi;\          movl    %2,%%edi;\
         movl    %3,%%ebx;\          movl    %3,%%ebx;\
Line 811  int _subz_main(unsigned int *m1,int d1,unsigned int *m
Line 814  int _subz_main(unsigned int *m1,int d1,unsigned int *m
         jnz Lstart__subz;\          jnz Lstart__subz;\
         movl    $0,%%eax;\          movl    $0,%%eax;\
         adcl    %%eax,%%eax;\          adcl    %%eax,%%eax;\
         movl    %%eax,%0"\          movl    %%eax,%0;\
           popl    %%ebx"\
         :"=m"(br)\          :"=m"(br)\
         :"m"(m1),"m"(m2),"m"(mr),"m"(d2)\          :"m"(m1),"m"(m2),"m"(mr),"m"(d2)\
         :"eax","ebx","ecx","edx","esi","edi");          :"eax","ecx","edx","esi","edi");
 #else  #else
         for ( i = 0, br = 0; i < d2; i++, mr++ ) {          for ( i = 0, br = 0; i < d2; i++, mr++ ) {
                 t = *m1++;                  t = *m1++;

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.15

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>