[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.7 and 1.10

version 1.7, 2005/02/13 16:01:02 version 1.10, 2007/09/15 10:17:08
Line 13 
Line 13 
 INLINE void _addz(Z n1,Z n2,Z nr);  INLINE void _addz(Z n1,Z n2,Z nr);
 INLINE void _subz(Z n1,Z n2,Z nr);  INLINE void _subz(Z n1,Z n2,Z nr);
 INLINE void _mulz(Z n1,Z n2,Z nr);  INLINE void _mulz(Z n1,Z n2,Z nr);
 INLINE int _addz_main(unsigned int *m1,int d1,unsigned int *m2,int d2,unsigned int *mr);  int _addz_main(unsigned int *m1,int d1,unsigned int *m2,int d2,unsigned int *mr);
 INLINE int _subz_main(unsigned int *m1,int d1,unsigned int *m2,int d2,unsigned int *mr);  int _subz_main(unsigned int *m1,int d1,unsigned int *m2,int d2,unsigned int *mr);
   
 /* immediate int -> Z */  /* immediate int -> Z */
 #define UTOZ(c,n) (n)=(!((unsigned int)(c))?0:(((unsigned int)(c))<=IMM_MAX?((Z)((((unsigned int)(c))<<1)|1)):utoz((unsigned int)(c))))  #define UTOZ(c,n) (n)=(!((unsigned int)(c))?0:(((unsigned int)(c))<=IMM_MAX?((Z)((((unsigned int)(c))<<1)|1)):utoz((unsigned int)(c))))
Line 704  int _addz_main(unsigned int *m1,int d1,unsigned int *m
Line 704  int _addz_main(unsigned int *m1,int d1,unsigned int *m
         }          }
 #elif defined(i386)  #elif defined(i386)
         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 794  int _subz_main(unsigned int *m1,int d1,unsigned int *m
Line 796  int _subz_main(unsigned int *m1,int d1,unsigned int *m
         }          }
 #elif defined(i386)  #elif defined(i386)
         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.7  
changed lines
  Added in v.1.10

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