Files
rust/library/stdarch
gwenn ee0f165e8e Avx (#90)
* avx: _mm256_andnot_pd, _mm256_andnot_ps

* avx: _mm256_blendv_pd

* avx: _mm256_blend_pd with no assert_instr

With assert_instr: too many instructions in the disassembly

* avx: _mm256_blendv_ps

* avx: _mm256_hadd_pd

* avx: _mm256_hadd_ps

* avx: _mm256_hsub_pd

* avx: _mm256_hsub_ps

* avx: _mm256_xor_pd

* avx: _mm256_xor_ps

* avx: _mm256_cvtepi32_pd

* avx: _mm256_cvtepi32_ps

* avx: _mm256_cvtpd_ps

* avx: _mm256_cvtps_epi32

* avx: _mm256_cvtps_pd

* avx: _mm256_cvttpd_epi32

* avx: _mm256_cvtpd_epi32

* avx: replace simd_cast by proper instrunction

* avx: _mm256_cvttps_epi32

* avx: _mm256_extractf128_ps, _mm256_undefined_ps

* avx: _mm256_extractf128_pd, _mm256_undefined_pd

* avx: _mm256_extractf128_si256, _mm256_undefined_si256

* avx: _mm256_extract_epi8

* avx: _mm256_extract_epi16

* avx: _mm256_extract_epi32

* avx: _mm256_extract_epi64

* avx: _mm256_zeroall

* avx: _mm256_zeroupper

* avx: _mm256_permutevar_ps

* avx: _mm_permutevar_ps

* avx: replace simd_cast by as_*

* avx: _mm256_permute_ps

* avx: _mm256_dp_ps

* avx: _mm256_shuffle_pd

* avx: _mm256_shuffle_pd, wrong instruction generated

* implement _mm256_hadd_ps and _mm256_hadd_pd

* avx: implement _mm256_hsub_pd and _mm256_hsub_ps

* assert_instr: raise the limit up to 30 instructions
2017-10-05 13:42:29 -05:00
..
2017-09-25 13:38:12 -07:00
2017-10-05 13:42:29 -05:00
2017-10-05 13:42:29 -05:00
2017-09-26 14:58:41 -07:00
2017-09-27 11:04:23 -04:00
2016-12-02 21:46:58 -05:00
2017-09-27 11:04:23 -04:00
2017-09-26 14:58:41 -07:00
2017-09-25 12:43:06 -07:00
2017-09-25 12:43:06 -07:00
2017-06-19 17:06:53 -04:00
2017-09-25 13:45:00 -07:00

stdsimd

Experimental support for SIMD destined to eventually become part of Rust's standard library

Build Status Build status

This is a work in progress.

Approach

The main goal is to expose APIs defined by vendors with the least amount of abstraction possible. On x86, for example, the API should correspond to that provided by emmintrin.h.

License

stdsimd is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0), with portions covered by various BSD-like licenses.

See LICENSE-APACHE, and LICENSE-MIT for details.