How to use the pybase64.distutils.ccompilercapabilities.CCompilerCapabilities.SIMD_AVX function in pybase64

To help you get started, we’ve selected a few pybase64 examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github mayeut / pybase64 / setup.py View on Github external
def pybase64_write_config(capabilities):
    log.info("creating 'base64/lib/config.h'")
    with open(path.join(here, 'base64/lib/config.h'), mode='wt') as f:
        f.write('\n#define HAVE_SSSE3                 %i' %
                capabilities.has(CCompilerCapabilities.SIMD_SSSE3))
        f.write('\n#define HAVE_SSE41                 %i' %
                capabilities.has(CCompilerCapabilities.SIMD_SSE41))
        f.write('\n#define HAVE_SSE42                 %i' %
                capabilities.has(CCompilerCapabilities.SIMD_SSE42))
        f.write('\n#define HAVE_AVX                   %i' %
                capabilities.has(CCompilerCapabilities.SIMD_AVX))
        f.write('\n#define HAVE_AVX2                  %i' %
                capabilities.has(CCompilerCapabilities.SIMD_AVX2))
        f.write('\n#define HAVE_NEON32                %i' % False)
        f.write('\n#define HAVE_NEON64                %i' % False)
        f.write('\n#define HAVE_FAST_UNALIGNED_ACCESS %i' % True)
        f.write('\n')
github mayeut / pybase64 / setup.py View on Github external
def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                "in 'ext_modules' option (extension '%s'), "
                "'sources' must be present and must be "
                "a list of source filenames" % ext.name)
        sources = list(sources)

        simd_sources = dict()
        simd_sources[CCompilerCapabilities.SIMD_SSSE3] = ext.sources_ssse3
        simd_sources[CCompilerCapabilities.SIMD_SSE41] = ext.sources_sse41
        simd_sources[CCompilerCapabilities.SIMD_SSE42] = ext.sources_sse42
        simd_sources[CCompilerCapabilities.SIMD_AVX] = ext.sources_avx
        simd_sources[CCompilerCapabilities.SIMD_AVX2] = ext.sources_avx2
        simd_sources[CCompilerCapabilities.SIMD_NEON32] = \
            ext.sources_neon32
        simd_sources[CCompilerCapabilities.SIMD_NEON64] = \
            ext.sources_neon64

        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends

        try:
            simd_sources_values = simd_sources.itervalues()
        except AttributeError:
            simd_sources_values = simd_sources.values()
        for add_sources in simd_sources_values:
            depends = depends + add_sources
github mayeut / pybase64 / pybase64 / distutils / ccompilercapabilities.py View on Github external
self.__capabilities[CCompilerCapabilities.SIMD_SSE42] = \
            self.__has_simd_support(
                compiler,
                ['', '-msse4.2'],
                ['-D__SSE4_2__'],
                'nmmintrin.h',
                '__m128i t = _mm_loadu_si128((const __m128i*)argv[0]);'
                'return _mm_cmpistra(t, t, 0);'
        )
        log.info(
            "SSE42: %s" %
            str(self.__capabilities[
                CCompilerCapabilities.SIMD_SSE42
            ]['support'])
        )
        self.__capabilities[CCompilerCapabilities.SIMD_AVX] = \
            self.__has_simd_support(
                compiler,
                ['', '-mavx', '/arch:AVX'],
                ['-D__AVX__'],
                'immintrin.h',
                '__m256i y = _mm256_loadu_si256((const __m256i*)argv[0]);'
                'return _mm256_testz_si256(y, y);'
        )
        log.info(
            "AVX:   %s" %
            str(self.__capabilities[
                CCompilerCapabilities.SIMD_AVX
            ]['support'])
        )
        self.__capabilities[CCompilerCapabilities.SIMD_AVX2] = \
            self.__has_simd_support(