Skip to content

[vm/SIMD] Vectorize ASCII decoding. #64337

Open

Description

@modulovalue

I've been running some experiments on vectorizing ascii.decode through our current (and future) typed_data SIMD API surface (#64170).

The current bottleneck is the scalar loop and once we replace it with processing 16 bytes in parallel using a Uint8x16 API and a few minor optimizations outside typed_data we will be able to roughly achieve the following numbers:

Image

We are blocked on:

  • a Uint8x16 type
  • Uint8x16.{signMask/anyTrue}
  • Uint8x16.|
  • Internal ISA flags (RISC-V is not vectorized yet, for example, and arm32 needs a separate investigation, but it should perform similar)

We've already successfully landed those members on Int32x4, so the only real blocker is the Uint8x16 type.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions