diff options
| author | kennytm <kennytm@gmail.com> | 2018-03-17 17:20:43 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-03-17 17:20:43 +0800 |
| commit | b724c6937462d19cb4e45431c2875f4ee051f6d3 (patch) | |
| tree | 9e3886ece108b6ffb1e23001f047b543811f6060 /src/test/incremental/thinlto | |
| parent | c9d06a4a4e07e59c9d5099325a66242321f7c392 (diff) | |
| parent | 06148cb4b0f83ecec70148de8b589644b618e66f (diff) | |
| download | rust-b724c6937462d19cb4e45431c2875f4ee051f6d3.tar.gz rust-b724c6937462d19cb4e45431c2875f4ee051f6d3.zip | |
Rollup merge of #48983 - gnzlbg:red, r=alexcrichton
add intrinsics for portable packed simd vector reductions Adds the following portable vector reduction intrinsics: * fn simd_reduce_add<T, U>(x: T) -> U; * fn simd_reduce_mul<T, U>(x: T) -> U; * fn simd_reduce_min<T, U>(x: T) -> U; * fn simd_reduce_max<T, U>(x: T) -> U; * fn simd_reduce_and<T, U>(x: T) -> U; * fn simd_reduce_or<T, U>(x: T) -> U; * fn simd_reduce_xor<T, U>(x: T) -> U; I've also added: * fn simd_reduce_all<T>(x: T) -> bool; * fn simd_reduce_any<T>(x: T) -> bool; These produce better code that what we are currently producing in `stdsimd`, but the code is still not optimal due to this LLVM bug: https://bugs.llvm.org/show_bug.cgi?id=36702 r? @alexcrichton
Diffstat (limited to 'src/test/incremental/thinlto')
0 files changed, 0 insertions, 0 deletions
