version 1.146, 2005/01/22 16:39:58
|
version 1.148, 2005/01/23 21:35:47
|
Line 47 AC_ARG_ENABLE(force-ll,
|
Line 47 AC_ARG_ENABLE(force-ll,
|
AC_DEFINE(FORCE_LL,,[Define if you want to use explicit long long declarations for better performance (does not work with all GCC versions on all machines)])) |
AC_DEFINE(FORCE_LL,,[Define if you want to use explicit long long declarations for better performance (does not work with all GCC versions on all machines)])) |
AC_SUBST(PROFEXES) |
AC_SUBST(PROFEXES) |
AC_SUBST(PROFOBJS) |
AC_SUBST(PROFOBJS) |
|
|
|
AC_ARG_ENABLE(gcc-pr15242-workaround, |
|
AC_HELP_STRING([--disable-gcc-pr15242-workaround],[Disables |
|
dynamic code generation on some versions of gcc |
|
(slowdown~2 on Athlon) and causes slower building |
|
of gforth (but gforth speedups) on others. |
|
(default enabled)]), |
|
,enable_gcc_pr15242_workaround=yes) |
|
test "$enable_gcc_pr15242_workaround" = "no"|| |
|
AC_DEFINE(GCC_PR15242_WORKAROUND,,[Define if you want to get dynamic code |
|
generation on gccs affected by PR15242]) |
|
|
AC_ARG_ENABLE(prof, |
AC_ARG_ENABLE(prof, |
[ --enable-prof Build gforth-prof, which outputs frequently occuring |
[ --enable-prof Build gforth-prof, which outputs frequently occuring |
sequences of primitives.], |
sequences of primitives.], |
Line 477 else
|
Line 489 else
|
fi |
fi |
|
|
#check how to do asm(".skip 16") |
#check how to do asm(".skip 16") |
|
echo "CFLAGS=$CFLAGS" |
|
echo "ac_link=$ac_link" |
AC_MSG_CHECKING([if and how we can waste code space]) |
AC_MSG_CHECKING([if and how we can waste code space]) |
if test -z "$skipcode"; then |
if test -z "$skipcode"; then |
|
skipcode=no |
|
CFLAGS_1="$CFLAGS" |
|
CFLAGS="$CFLAGS $ENGINE_FLAGS" |
for i in ".skip 16" ".block 16" ".org .+16" ".=.+16" ".space 16" |
for i in ".skip 16" ".block 16" ".org .+16" ".=.+16" ".space 16" |
do |
do |
AC_TRY_RUN( |
AC_TRY_RUN( |
Line 493 int foo(int x, int y, int z)
|
Line 510 int foo(int x, int y, int z)
|
if (x) { |
if (x) { |
y++; /* workaround for http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12108 */ |
y++; /* workaround for http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12108 */ |
label1: |
label1: |
asm(".skip 16"); /* or ".space 16" or somesuch */ |
asm("$i"); /* or ".space 16" or somesuch */ |
label2: ; |
label2: ; |
} |
} |
{ |
{ |
Line 504 int foo(int x, int y, int z)
|
Line 521 int foo(int x, int y, int z)
|
,skipcode=$i; break |
,skipcode=$i; break |
,,) |
,,) |
done |
done |
|
CFLAGS=$CFLAGS_1 |
fi |
fi |
AC_MSG_RESULT($skipcode) |
AC_MSG_RESULT($skipcode) |
if test "$skipcode" = no |
if test "$skipcode" = no |