| ... | ... | @@ -48,7 +48,7 @@ again returning the result as a single 2^k^-bit value, as illustrated by the fol |
|
|
|
| ---------- | ------- | ------- |
|
|
|
|
|`e1`|`AaBbCcDd`|`EeFfGgHh`|
|
|
|
|
|`e2`|`JjKkLlMm`|`NnPpQqRr`|
|
|
|
|
|`hsimd<8>::packl(e1, e2)`|`CdDdGgHh`|`LlMmQqRr`|
|
|
|
|
|`hsimd<8>::packl(e1, e2)`|`CcDdGgHh`|`LlMmQqRr`|
|
|
|
|
|
|
|
|
Using these operations it is possible to implement the ideal transposition
|
|
|
|
strategy in a
|
| ... | ... | @@ -264,5 +264,4 @@ define <8 x i16> @hsimd_packl_16(<8 x i16> %x, <8 x i16> %y) { |
|
|
|
Given `shufflevector` operations satisfying the byte pack model,
|
|
|
|
an LLVM code generator can conceivably produce the SSE2-based implementations
|
|
|
|
shown previously, while an SSE3-based implementation might directly use
|
|
|
|
the byte shuffle operation `pshufb`.
|
|
|
|
|
|
|
|
the byte shuffle operation `pshufb`. |
|
|
\ No newline at end of file |