0
0
mirror of https://github.com/netwide-assembler/nasm.git synced 2025-09-22 10:43:39 -04:00
Files
nasm/autoconf/m4/pa_endian.m4
H. Peter Anvin 7a5502142b bytesex, ilog2: use C23 <stdbit.h> if available; use in disassembler
Merge the macros used in the assembler and disassembler.
Simplify and slightly correct the byte order/unaligned handling macros.
Use <stdbit.h> from C23 if available for bytesex.h and ilog2.h.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2025-08-29 01:46:57 -07:00

33 lines
1.3 KiB
Plaintext

dnl --------------------------------------------------------------------------
dnl PA_ENDIAN
dnl
dnl Test for a bunch of variants of endian tests and byteorder functions.
dnl --------------------------------------------------------------------------
AC_DEFUN([PA_ENDIAN],
[AC_C_BIGENDIAN(AC_DEFINE(WORDS_BIGENDIAN),AC_DEFINE(WORDS_LITTLEENDIAN),,)
AH_TEMPLATE(WORDS_BIGENDIAN,
[Define to 1 if your processor stores words with the most significant
byte first (like Motorola and SPARC, unlike Intel and VAX).])
AH_TEMPLATE(WORDS_LITTLEENDIAN,
[Define to 1 if your processor stores words with the least significant
byte first (like Intel and VAX, unlike Motorola and SPARC).])
PA_ADD_HEADERS(stdbit.h endian.h sys/endian.h machine/endian.h)
PA_HAVE_FUNC(cpu_to_le16, (0))
PA_HAVE_FUNC(cpu_to_le32, (0))
PA_HAVE_FUNC(cpu_to_le64, (0))
PA_HAVE_FUNC(__cpu_to_le16, (0))
PA_HAVE_FUNC(__cpu_to_le32, (0))
PA_HAVE_FUNC(__cpu_to_le64, (0))
PA_HAVE_FUNC(htole16, (0))
PA_HAVE_FUNC(htole32, (0))
PA_HAVE_FUNC(htole64, (0))
PA_HAVE_FUNC(__bswap_16, (0))
PA_HAVE_FUNC(__bswap_32, (0))
PA_HAVE_FUNC(__bswap_64, (0))
PA_HAVE_FUNC(__builtin_bswap16, (0))
PA_HAVE_FUNC(__builtin_bswap32, (0))
PA_HAVE_FUNC(__builtin_bswap64, (0))
PA_HAVE_FUNC(_byteswap_ushort, (0))
PA_HAVE_FUNC(_byteswap_ulong, (0))
PA_HAVE_FUNC(_byteswap_uint64, (0))])