vppinfra: optimize and simplify splat inline functions 25/6625/6
authorDamjan Marion <[email protected]>
Tue, 9 May 2017 15:45:50 +0000 (17:45 +0200)
committerDave Barach <[email protected]>
Wed, 10 May 2017 14:03:08 +0000 (14:03 +0000)
commitbde55230fd34cca68ba47ad856b8a40067bdadc6
treec7755ad4429ce4e535098a4c4292c9f615675a73
parentdb84e579ef77476e3c73780e20243ee1799530f3
vppinfra: optimize and simplify splat inline functions

Example for u32x4 case:
Old code generates 2 instructions:

vmovd  %edi,%xmm0
vpunpckldq %xmm0,%xmm0,%xmm0
vpunpcklqdq %xmm0,%xmm0,%xmm0

New code uses only one instruction:
mov    %edi,-0x4(%rsp)
vbroadcastss -0x4(%rsp),%xmm0

Change-Id: I989dc3025f5fe3f6c880972389ded11f31e2f3f6
Signed-off-by: Damjan Marion <[email protected]>
src/vppinfra/vector_sse2.h