Skip to content

any() on boolean vectors on 32-bit ARM likely broken #12

Closed
@hsivonen

Description

@hsivonen

Steps to reproduce

  1. Use and ARMv7 + NEON Linux host.
  2. git clone https://github.com/hsivonen/encoding_rs
  3. cd encoding_rs
  4. git checkout 3049251cd80bb8eebc7d8c96057480d4e84fffef
  5. RUSTFLAGS=' -C target-feature=+neon' cargo test --features simd-accel

Expected results

Expected tests to pass, since encoding_rs contains no 32-bit ARM-specific code and the same code that only uses simd-crate facilities and cross-architecture LLVM shuffles works on Aarch64.

Actual results

Various tests fail. Since it's unlikely that LLVM is broken and unlikely that the rustc-to-LLVM part is broken just for 32-bit ARM, I suspect that the implementation for any() on boolean vectors is broken.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions