summaryrefslogtreecommitdiff
path: root/liboil/md5
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2004-11-22 22:58:59 +0000
committerDavid Schleef <ds@schleef.org>2004-11-22 22:58:59 +0000
commitf8fb8c3aaf2022f53120a7f5b178ba9ffda666e5 (patch)
treea9ccc43eaa9e2915c3673014a438182eff4dd855 /liboil/md5
parent7351e79819153cbc41cf247b8342e62677005361 (diff)
downloadliboil-f8fb8c3aaf2022f53120a7f5b178ba9ffda666e5.tar.gz
* configure.ac: bump nano
* examples/jpeg/jpeg.c: (jpeg_decoder_application0): Fix warnings under gcc-3.5 * liboil/Makefile.am: Add dependency to convince automake to build things in the correct order (fixes build problems with -j2) * liboil/md5/md5_i386.c: (md5_asm1), (md5_asm2), (md5_asm3): Don't clobber ebx, since gcc can't handle it. * liboil/simdpack/average2_u8.c: remove simdpack-isms * liboil/simdpack/clip_s16.c: same * liboil/simdpack/conv_f64_s16.c: same * liboil/simdpack/downsample2_s16.c: (downsample2_s16_ref), (downsample2_s16_fast), (downsample2_s16_unroll4), (downsample2_s16_ppcasm): same * liboil/simdpack/mix_u8.c: same * liboil/simdpack/sad8x8.c: same
Diffstat (limited to 'liboil/md5')
-rw-r--r--liboil/md5/md5_i386.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/liboil/md5/md5_i386.c b/liboil/md5/md5_i386.c
index ba7e15a..c9c3a65 100644
--- a/liboil/md5/md5_i386.c
+++ b/liboil/md5/md5_i386.c
@@ -40,6 +40,7 @@ md5_asm1(uint32_t *state, uint32_t *src)
void *state;
void *src;
void *ebp;
+ void *ebx;
}tmp;
tmp.state = state;
@@ -47,6 +48,7 @@ md5_asm1(uint32_t *state, uint32_t *src)
asm (
" mov %%ebp, 0x8(%%eax)\n"
+ " mov %%ebx, 0xc(%%eax)\n"
" mov %%eax, %%ebp\n"
" mov (%%ebp), %%esi\n"
" mov (%%esi), %%eax\n"
@@ -171,10 +173,11 @@ md5_asm1(uint32_t *state, uint32_t *src)
" add %%ebx, 0x4(%%edi)\n"
" add %%ecx, 0x8(%%edi)\n"
" add %%edx, 0xc(%%edi)\n"
+ " mov 0xc(%%ebp), %%ebx\n"
" mov 0x8(%%ebp), %%ebp\n"
:
: "a" (&tmp)
- : "esi", "ebx", "ecx", "edx", "edi");
+ : "esi", "ecx", "edx", "edi");
}
#undef STEP1
#undef STEP2
@@ -191,6 +194,7 @@ md5_asm2(uint32_t *state, uint32_t *src)
void *state;
void *src;
void *ebp;
+ void *ebx;
}tmp;
tmp.state = state;
@@ -198,6 +202,7 @@ md5_asm2(uint32_t *state, uint32_t *src)
asm (
" mov %%ebp, 0x8(%%eax)\n"
+ " mov %%ebx, 0xc(%%eax)\n"
" mov %%eax, %%ebp\n"
" mov (%%ebp), %%esi\n"
" mov (%%esi), %%eax\n"
@@ -326,10 +331,11 @@ md5_asm2(uint32_t *state, uint32_t *src)
" add %%ebx, 0x4(%%edi)\n"
" add %%ecx, 0x8(%%edi)\n"
" add %%edx, 0xc(%%edi)\n"
+ " mov 0xc(%%ebp), %%ebx\n"
" mov 0x8(%%ebp), %%ebp\n"
:
: "a" (&tmp)
- : "esi", "ebx", "ecx", "edx", "edi");
+ : "esi", "ecx", "edx", "edi");
#undef STEP1
#undef STEP2
#undef STEP3
@@ -347,6 +353,7 @@ md5_asm3(uint32_t *state, uint32_t *src)
void *src;
void *ebp;
void *esp;
+ void *ebx;
}tmp;
tmp.state = state;
@@ -354,7 +361,8 @@ md5_asm3(uint32_t *state, uint32_t *src)
asm (
" mov %%ebp, 0x8(%%eax)\n"
- " mov %%ebp, 0xc(%%eax)\n"
+ " mov %%esp, 0xc(%%eax)\n"
+ " mov %%ebx, 0x10(%%eax)\n"
" mov %%eax, %%ebp\n"
" mov (%%ebp), %%esi\n"
" mov (%%esi), %%eax\n"
@@ -487,11 +495,12 @@ md5_asm3(uint32_t *state, uint32_t *src)
" add %%ebx, 0x4(%%edi)\n"
" add %%ecx, 0x8(%%edi)\n"
" add %%edx, 0xc(%%edi)\n"
+ " mov 0x10(%%ebp), %%ebx\n"
" mov 0xc(%%ebp), %%esp\n"
" mov 0x8(%%ebp), %%ebp\n"
:
: "a" (&tmp)
- : "esi", "ebx", "ecx", "edx", "edi");
+ : "esi", "ecx", "edx", "edi");
#undef STEP1
#undef STEP2
#undef STEP3