summaryrefslogtreecommitdiff
path: root/mpn
diff options
context:
space:
mode:
authorKevin Ryde <user42@zip.com.au>2000-06-16 00:31:43 +0200
committerKevin Ryde <user42@zip.com.au>2000-06-16 00:31:43 +0200
commit9ce8bcc2a5a02ab2ac2b31e8ad55c1160035daaf (patch)
treee7540593924998bafb4852dbba7a76226debb8c5 /mpn
parentc12a657859812a3e9fb025f203e4d80365b74327 (diff)
downloadgmp-9ce8bcc2a5a02ab2ac2b31e8ad55c1160035daaf.tar.gz
* mpn/asm-defs.m4 (ALIGN): New macro.
Diffstat (limited to 'mpn')
-rw-r--r--mpn/asm-defs.m418
1 files changed, 17 insertions, 1 deletions
diff --git a/mpn/asm-defs.m4 b/mpn/asm-defs.m4
index d1e418a57..998e17ff0 100644
--- a/mpn/asm-defs.m4
+++ b/mpn/asm-defs.m4
@@ -1130,7 +1130,7 @@ define(`EPILOGUE',
SIZE(GSYM_PREFIX`$1',.-GSYM_PREFIX`$1')')
dnl LSYM_PREFIX might be L$, so defn() must be used to quote it or the L
-dnl will expand as the L macro here, an infinite recursion.
+dnl will expand as the L macro, an infinite recursion.
define(`L',`defn(`LSYM_PREFIX')$1')
define(`INT32',
@@ -1149,6 +1149,22 @@ $1:
')
+dnl Usage: ALIGN(bytes)
+dnl
+dnl Emit a ".align" directive. The alignment is specified in bytes, and
+dnl will normally need to be a power of 2. The actual ".align" generated
+dnl is either bytes or logarithmic according to what ./configure detects.
+dnl
+dnl ALIGN_FILL_0x90, if defined and equal to "yes", means a ", 0x90" should
+dnl be appended (this is for x86).
+
+define(ALIGN,
+m4_assert_numargs(1)
+m4_assert_defined(`ALIGN_LOGARITHMIC')
+`.align ifelse(ALIGN_LOGARITHMIC,yes,`m4_log2($1)',`eval($1)')dnl
+ifelse(ALIGN_FILL_0x90,yes,`, 0x90')')
+
+
dnl Usage: MULFUNC_PROLOGUE(function function...)
dnl
dnl A dummy macro which is grepped for by ./configure to know what