diff --git a/src/acconfig.h b/src/acconfig.h index 629819abff51f8b519528921cab0e60116f0de20..f39cbc585d1a84449588c0fb32383aa8ee6e7c2e 100644 --- a/src/acconfig.h +++ b/src/acconfig.h @@ -1,5 +1,5 @@ /* - * $Id: acconfig.h,v 1.92 2001/07/16 19:48:56 hubbe Exp $ + * $Id: acconfig.h,v 1.93 2001/08/15 14:42:10 marcus Exp $ */ #ifndef MACHINE_H #define MACHINE_H @@ -299,6 +299,9 @@ /* What alignment do 32-bit integers need */ #define PIKE_INT32_ALIGNMENT 4 +/* Assembler prefix for general purpose registers */ +#undef PIKE_CPU_REG_PREFIX + /* Number of possible filedesriptors */ #define MAX_OPEN_FILEDESCRIPTORS 1024 diff --git a/src/configure.in b/src/configure.in index fbb2404e67048e61493d3525d4da12fdb9a46637..64cf29b93892c1b1b51ba661cad6c0b632f3e3f5 100644 --- a/src/configure.in +++ b/src/configure.in @@ -1,4 +1,4 @@ -AC_REVISION("$Id: configure.in,v 1.540 2001/07/20 10:20:09 mast Exp $") +AC_REVISION("$Id: configure.in,v 1.541 2001/08/15 14:42:10 marcus Exp $") AC_INIT(interpret.c) AC_CONFIG_HEADER(machine.h) @@ -3212,6 +3212,31 @@ pike_cv_hardware_alignment=4 AC_MSG_RESULT($pike_cv_hardware_alignment) AC_DEFINE_UNQUOTED(PIKE_INT32_ALIGNMENT,$pike_cv_hardware_alignment) +######################################################################## + +if test yes = "$with_machine_code"; then +AC_MSG_CHECKING(register name convention) +AC_CACHE_VAL(pike_cv_cpu_reg_prefix, +[ + for pike_cv_cpu_reg_prefix in "default" "" "r" "%%" "%%r" "unknown"; do + AC_TRY_COMPILE([ +#define REGPREFIX "$pike_cv_cpu_reg_prefix" +], [ +#if defined(__ppc__) || defined(_POWER) + __asm__ __volatile__(" li "REGPREFIX"11,1"); +#else + ; /* Don't need to find out */ +#endif + ],[break]) + done +]) +case "$pike_cv_cpu_reg_prefix" in + default|unknown) AC_MSG_RESULT($pike_cv_cpu_reg_prefix);; + *) AC_MSG_RESULT(${pike_cv_cpu_reg_prefix}0) + AC_DEFINE_UNQUOTED(PIKE_CPU_REG_PREFIX,"$pike_cv_cpu_reg_prefix");; +esac +else :; fi + ######################################################################## MY_CHECK_FUNCTION(fork, [