[PATCH 2/N] [x86_64] Vectorized math functions

Joseph Myers joseph@codesourcery.com
Wed Nov 26 13:12:00 GMT 2014


On Mon, 24 Nov 2014, Andrew Senkevich wrote:

> +#define START(FUNC, SUFF, EXACT) \
> +  CHECK_ARCH_EXT \
> +  if (TEST_MATHVEC) return; \

With a proper definition of CHECK_ARCH_EXT (one that always acts like a 
statement without the trailing ';'), the call should be followed by ';'.

> +# define INIT_ARCH_EXT \
> +  do \
> +    { \
> +      __init_cpu_features (); \
> +      avx2_usable = __cpu_features.feature[index_AVX2_Usable] \
> +    & bit_AVX2_Usable; \
> +    } \
> +  while(0);
> +
> +# define CHECK_ARCH_EXT \
> +  do \
> +    { \
> +      if (!avx2_usable) return; \
> +    } \
> +  while(0);

And the definitions here should not have the trailing semicolon, because 
that will be provided by the caller.  Also note there should be a space 
between "while" and "(0)".

-- 
Joseph S. Myers
joseph@codesourcery.com



More information about the Libc-alpha mailing list