ax_ext

Synopsis

AX_EXT

Description

Find supported SIMD extensions by requesting cpuid. When a SIMD extension is found, the -m"simdextensionname" is added to SIMD_FLAGS if compiler supports it. For example, if "sse2" is available then "-msse2" is added to SIMD_FLAGS.

Find other supported CPU extensions by requesting cpuid. When a processor extension is found, the -m"extensionname" is added to CPUEXT_FLAGS if compiler supports it. For example, if "bmi2" is available then "-mbmi2" is added to CPUEXT_FLAGS.

This macro calls:

  AC_SUBST(SIMD_FLAGS)
  AC_SUBST(CPUEXT_FLAGS)

And defines:

  HAVE_RDRND / HAVE_BMI1 / HAVE_BMI2 / HAVE_ADX / HAVE_MPX
  HAVE_PREFETCHWT1 / HAVE_ABM / HAVE_MMX / HAVE_SSE / HAVE_SSE2
  HAVE_SSE3 / HAVE_SSSE3 / HAVE_SSE4_1 / HAVE_SSE4_2 / HAVE_SSE4a
  HAVE_SHA / HAVE_AES / HAVE_AVX / HAVE_FMA3 / HAVE_FMA4 / HAVE_XOP
  HAVE_AVX2 / HAVE_AVX512_F / HAVE_AVX512_CD / HAVE_AVX512_PF
  HAVE_AVX512_ER / HAVE_AVX512_VL / HAVE_AVX512_BW / HAVE_AVX512_DQ
  HAVE_AVX512_IFMA / HAVE_AVX512_VBMI / HAVE_ALTIVEC / HAVE_VSX

Source Code

Download the latest version of ax_ext.m4 or browse the macro’s revision history.

License

Copyright © 2007 Christophe Tournayre 
Copyright © 2013,2015 Michael Petch 
Copyright © 2017 Rafael de Lucena Valle 

Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty.