diff options
Diffstat (limited to 'src/vppinfra/vector_sse42.h')
-rw-r--r-- | src/vppinfra/vector_sse42.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/vppinfra/vector_sse42.h b/src/vppinfra/vector_sse42.h index a2d737a4892..0c1b2f0324f 100644 --- a/src/vppinfra/vector_sse42.h +++ b/src/vppinfra/vector_sse42.h @@ -617,6 +617,15 @@ u8x16_msb_mask (u8x16 v) #undef _signed_binop +static_always_inline u32x4 +u32x4_byte_swap (u32x4 v) +{ + u8x16 swap = { + 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 + }; + return (u32x4) _mm_shuffle_epi8 ((__m128i) v, (__m128i) swap); +} + static_always_inline u16x8 u16x8_byte_swap (u16x8 v) { |