diff options
author | David Schleef <ds@schleef.org> | 2006-11-05 01:13:26 +0000 |
---|---|---|
committer | David Schleef <ds@schleef.org> | 2006-11-05 01:13:26 +0000 |
commit | 7c4fb36a2edace90ffa2b4cce9dc1002aeae6a9a (patch) | |
tree | d6798931e7c843f8d3b8421245d0ad648d9d37f0 /testsuite | |
parent | 224c46ca4c94950674b1af054535e0a9108bdef1 (diff) | |
download | liboil-7c4fb36a2edace90ffa2b4cce9dc1002aeae6a9a.tar.gz |
* configure.ac:
* liboil/Makefile.am:
* liboil/amd64/Makefile.am:
* liboil/amd64/empty.c:
* liboil/i386/Makefile.am:
* liboil/i386/clamp.c:
* liboil/i386/idct8x8_i386.c:
* liboil/i386/mt19937.c:
* liboil/i386/resample.c:
* liboil/i386/sum.c:
* liboil/i386/swab.c:
* liboil/i386_amd64/Makefile.am:
* liboil/i386_amd64/clamp.c:
* liboil/i386_amd64/idct8x8_i386.c:
* liboil/i386_amd64/mt19937.c:
* liboil/i386_amd64/resample.c:
* liboil/i386_amd64/sum.c:
* liboil/i386_amd64/swab.c:
* testsuite/stack_align.c:
Move stuff from i386/ to i386_amd64/ that compiles on amd64
(along with a resample fix). Other random amd64 fixes.
Diffstat (limited to 'testsuite')
-rw-r--r-- | testsuite/stack_align.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/testsuite/stack_align.c b/testsuite/stack_align.c index 8156981..935dc75 100644 --- a/testsuite/stack_align.c +++ b/testsuite/stack_align.c @@ -235,12 +235,22 @@ int realign_return; void realign(int align) { +#ifdef HAVE_I386 __asm__ __volatile__ ( " sub %%ebx, %%esp\n" " call check_class_with_alignment\n" " add %%ebx, %%esp\n" :: "b" (align) ); +#endif +#ifdef HAVE_AMD64 + __asm__ __volatile__ ( + " sub %%rbx, %%rsp\n" + " call check_class_with_alignment\n" + " add %%rbx, %%rsp\n" + :: "b" (align) + ); +#endif } void check_class_with_alignment (void) @@ -289,8 +299,13 @@ int check_class(OilFunctionClass *klass) test = oil_test_new(klass); for (i=0; i < OIL_ARG_LAST; i++) { int align; + int step = 4; + +#ifdef HAVE_AMD64 + step = 16; +#endif - for (align = 0; align <= 32; align += 4) { + for (align = 0; align <= 32; align += step) { realign_klass = klass; realign_align = align; realign(align); |