Skip to content

Feature/from chars rvv - #2

Open
e4d08 wants to merge 2 commits into
developfrom
feature/from_chars_rvv
Open

Feature/from chars rvv#2
e4d08 wants to merge 2 commits into
developfrom
feature/from_chars_rvv

Conversation

@e4d08

@e4d08 e4d08 commented Jul 25, 2026

Copy link
Copy Markdown
Owner

No description provided.

e4d08 added 2 commits July 23, 2026 14:32
The BOOST_UUID_USE_RISCV_V config macro is automatically defined when
the compiler defines __riscv_v, indicating RISC-V Vector Extension
(V 1.0+) support is available. The macro is also added to the
BOOST_UUID_NO_SIMD exclusion list.
This adds a RISC-V Vector (RVV) implementation of the from_chars
algorithm, ported from the x86 SIMD implementation. The RVV version
supports VLEN >= 128 and handles narrow and wide character types
(char, char16_t, char32_t).

The implementation follows the same structure as from_chars_x86.hpp:
deinterleaving of input character pairs, dash validation, hex character
validation, and nibble packing. It uses two separate expected dash
vectors (one per character pair) instead of x86's single shuffled
vector, as RVV's vrgather-based deinterleaving makes this approach
more natural.

The generic fallback path is preserved: both the x86 and RISC-V SIMD
paths dispatch to from_chars_generic when std::is_constant_evaluated()
is true.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant