[dpdk-dev] [PATCH v7 1/3] eal/x86: run-time dispatch over memcpy

Thomas Monjalon thomas at monjalon.net
Mon Oct 9 19:47:04 CEST 2017


05/10/2017 14:33, Xiaoyun Li:
> +/**
> + * Macro for copying unaligned block from one location to another with constant load offset,
> + * 47 bytes leftover maximum,
> + * locations should not overlap.
> + * Requirements:
> + * - Store is aligned
> + * - Load offset is <offset>, which must be immediate value within [1, 15]
> + * - For <src>, make sure <offset> bit backwards & <16 - offset> bit forwards are available for loading
> + * - <dst>, <src>, <len> must be variables
> + * - __m128i <xmm0> ~ <xmm8> must be pre-defined
> + */
> +#define MOVEUNALIGNED_LEFT47_IMM(dst, src, len, 

Naive question:
Is there a real benefit of using a macro compared to a static inline
function optimized by a modern compiler?

Anyway, if you are doing a new version, please reduce lines length
and fix the indent from spaces to tabs.

Thank you


More information about the dev mailing list