version 1.4, 2001/10/09 01:36:03 |
version 1.8, 2007/09/15 10:17:07 |
|
|
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* |
* |
* $OpenXM: OpenXM_contrib2/asir2000/asm/ddN.c,v 1.3 2000/08/22 05:03:55 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/asm/ddN.c,v 1.7 2007/02/18 05:36:27 ohara Exp $ |
*/ |
*/ |
#ifndef FBASE |
#ifndef FBASE |
#define FBASE |
#define FBASE |
Line 374 void muln_1(unsigned int *p,int s,unsigned int d,unsig |
|
Line 374 void muln_1(unsigned int *p,int s,unsigned int d,unsig |
|
} |
} |
#else |
#else |
asm volatile("\ |
asm volatile("\ |
|
pushl %%ebx;\ |
movl %0,%%esi;\ |
movl %0,%%esi;\ |
movl %1,%%edi;\ |
movl %1,%%edi;\ |
movl $0,%%ebx;\ |
movl $0,%%ebx;\ |
Line 390 void muln_1(unsigned int *p,int s,unsigned int d,unsig |
|
Line 391 void muln_1(unsigned int *p,int s,unsigned int d,unsig |
|
leal 4(%%edi),%%edi;\ |
leal 4(%%edi),%%edi;\ |
decl %3;\ |
decl %3;\ |
jnz Lstart_muln;\ |
jnz Lstart_muln;\ |
movl %%ebx,(%%edi)"\ |
movl %%ebx,(%%edi);\ |
|
popl %%ebx"\ |
:\ |
:\ |
:"m"(p),"m"(r),"m"(d),"m"(s)\ |
:"m"(p),"m"(r),"m"(d),"m"(s)\ |
:"eax","ebx","edx","esi","edi"); |
:"eax","edx","esi","edi"); |
#endif |
#endif |
} |
} |
|
|
Line 523 unsigned int divn_1(unsigned int *p,int s,unsigned int |
|
Line 525 unsigned int divn_1(unsigned int *p,int s,unsigned int |
|
unsigned int borrow; |
unsigned int borrow; |
|
|
asm volatile("\ |
asm volatile("\ |
|
pushl %%ebx;\ |
movl %1,%%esi;\ |
movl %1,%%esi;\ |
movl %2,%%edi;\ |
movl %2,%%edi;\ |
movl $0,%%ebx;\ |
movl $0,%%ebx;\ |
Line 538 unsigned int divn_1(unsigned int *p,int s,unsigned int |
|
Line 541 unsigned int divn_1(unsigned int *p,int s,unsigned int |
|
leal 4(%%edi),%%edi;\ |
leal 4(%%edi),%%edi;\ |
decl %4;\ |
decl %4;\ |
jnz Lstart_divn;\ |
jnz Lstart_divn;\ |
movl %%ebx,%0"\ |
movl %%ebx,%0;\ |
|
popl %%ebx"\ |
:"=m"(borrow)\ |
:"=m"(borrow)\ |
:"m"(p),"m"(r),"m"(d),"m"(s)\ |
:"m"(p),"m"(r),"m"(d),"m"(s)\ |
:"eax","ebx","edx","esi","edi"); |
:"eax","edx","esi","edi"); |
|
|
return borrow; |
return borrow; |
#endif |
#endif |