Concatenates b and a (each N blocks) and extracts N blocks starting at byte offset shift_bytes.
Extracts from [b : a] (b in low bytes, a in high bytes), matching alignr semantics.
Concatenates b and a (each N blocks) and extracts N blocks starting at byte offset shift_bytes.
Extracts from [b : a] (b in low bytes, a in high bytes), matching alignr semantics.
This is a version of the alignr intrinsic that takes a non-const shift argument. The shift is still
expected to be constant in practice, so the match statement will be optimized out. This exists because
Rust doesn’t currently let you do math on const generics.