Skip to content
Snippets Groups Projects
Select Git revision
  • bcrypt
  • master default protected
  • hpke
  • ppc-chacha-4core
  • delete-internal-name-mangling
  • master-updates
  • ppc-gcm
  • ppc-chacha-2core
  • refactor-ecc-mod
  • ppc-chacha-core
  • use-mpn_cnd-functions
  • optimize-ecc-invert
  • default-m4-quote-char
  • power-asm-wip
  • test-fat
  • chacha-3core-neon
  • x86_64-salsa20-2core
  • salsa20-2core-neon
  • arm-salsa20-chacha-vsra
  • test-shlib-dir
  • nettle_3.6_release_20200429
  • nettle_3.6rc3
  • nettle_3.6rc2
  • nettle_3.6rc1
  • nettle_3.5.1_release_20190627
  • nettle_3.5_release_20190626
  • nettle_3.5rc1
  • nettle_3.4.1_release_20181204
  • nettle_3.4.1rc1
  • nettle_3.4_release_20171119
  • nettle_3.4rc2
  • nettle_3.4rc1
  • nettle_3.3_release_20161001
  • nettle_3.2_release_20160128
  • nettle_3.1.1_release_20150424
  • nettle_3.1_release_20150407
  • nettle_3.1rc3
  • nettle_3.1rc2
  • nettle_3.1rc1
  • nettle_3.0_release_20140607
40 results

asm.m4

Blame
  • Forked from Nettle / nettle
    Source project has a limited visibility.
    asm.m4 2.23 KiB
    divert(-1)
    changequote(<,>)dnl
    dnl (progn (modify-syntax-entry ?< "(>") (modify-syntax-entry ?> ")<") )
    
    dnl FORTRAN style comment character
    define(<C>, <
    dnl>)dnl
    dnl Disable m4 comment processing, since the default, #, is used for
    dnl constants on some architectures, in particular ARM.
    changecom()dnl
    
    dnl Including files from the srcdir
    define(<include_src>, <include(srcdir/$1)>)dnl
    
    dnl default definition, changed in fat builds
    define(<fat_transform>, <$1>)
    define(<C_NAME>, <SYMBOL_PREFIX<>fat_transform($1)>)
    
    dnl Pseudo ops
    define(<DECLARE_FUNC>,
    <ifelse(ELF_STYLE,yes,
    <.type $1,TYPE_FUNCTION>,
    COFF_STYLE, yes,
    <.def $1
    .scl 2
    .type 32
    .endef>,
    <>)>)
    
    define(<GMP_NUMB_BITS>,<>)dnl
    
    define(<PROLOGUE>,
    <.globl C_NAME($1)
    DECLARE_FUNC(C_NAME($1))
    C_NAME($1): ASM_X86_ENDBR>)
    
    define(<EPILOGUE>,
    <ifelse(ELF_STYLE,yes,
    <.size C_NAME($1), . - C_NAME($1)>,<>)>)
    
    define(<m4_log2>, <m4_log2_internal($1,1,0)>)
    define(<m4_log2_internal>,
    <ifelse($3, 10, <not-a-power-of-two>,
    $1, $2, $3,
    <m4_log2_internal($1, eval(2*$2), eval(1 + $3))>)>)
    
    dnl Argument to ALIGN is always in bytes, and converted to a
    dnl logarithmic .align if necessary.
    
    define(<ALIGN>,
    <.align ifelse(ALIGN_LOG,yes,<m4_log2($1)>,$1)
    >)
    
    define(<IF_BE>, <ifelse(
    WORDS_BIGENDIAN,yes,<$1>,
    WORDS_BIGENDIAN,no,<$2>,
    <errprint(<Unsupported endianness value>,WORDS_BIGENDIAN,<
    >)
      m4exit(1)>)>)
    define(<IF_LE>, <IF_BE(<$2>, <$1>)>)
    
    dnl Struct defining macros
    
    dnl STRUCTURE(prefix) 
    define(<STRUCTURE>, <define(<SOFFSET>, 0)define(<SPREFIX>, <$1>)>)dnl
    
    dnl STRUCT(name, size)
    define(<STRUCT>,
    <define(SPREFIX<_>$1, SOFFSET)dnl
     define(<SOFFSET>, eval(SOFFSET + ($2)))>)dnl