diff options
| author | Andy Sadler <andrewsadler122@gmail.com> | 2022-06-12 01:06:58 -0500 |
|---|---|---|
| committer | Andy Sadler <andrewsadler122@gmail.com> | 2022-08-27 12:16:37 -0500 |
| commit | 4df874f73d329e2aa3ffa7800f26476499302ec6 (patch) | |
| tree | df7e83c92b3cb089aa9c93bfb998ecb3f73ec845 /tests/mir-opt/lower_array_len.array_bound_mut.NormalizeArrayLen.panic-unwind.diff | |
| parent | b4626b3ca07c4fcdce1d96840567005e294e5ecc (diff) | |
| download | rust-4df874f73d329e2aa3ffa7800f26476499302ec6.tar.gz rust-4df874f73d329e2aa3ffa7800f26476499302ec6.zip | |
simd: Implement missing reduction intrinsics
Implements the following simd reduction intrinsics: - simd_reduce_add_ordered - simd_reduce_mul_ordered - simd_reduce_min_nanless - simd_reduce_max_nanless - simd_reduce_xor - simd_reduce_any - simd_reduce_all Also fixes the ordering of simd_reduce_min and simd_reduce_max, which were tested to be flipped. Both simd_reduce_min_nanless and simd_reduce_max_nanless are identical to their non-nanless variants for the time being. An attempt was made at a more optimal codegen solution based on vector_reduce_op. However, this approach ran into masking issues for floating-point vector types, which appears to be broken for the same reason that comparison operations such as simd_lt are broken for floating-point vector types. More investigation is required, however, to determine a root cause and appropriate fix. This should be enough to pass the generic-reduction-pass.rs ui tests with the 'master' feature enabled. Signed-off-by: Andy Sadler <andrewsadler122@gmail.com>
Diffstat (limited to 'tests/mir-opt/lower_array_len.array_bound_mut.NormalizeArrayLen.panic-unwind.diff')
0 files changed, 0 insertions, 0 deletions
