[dpdk-dev] lib/librte_eal: Fix compile issue with gcc 5.3.1
Commit Message
In fedora 22 with GCC version 5.3.1, when compile,
will result an error:
include/rte_memcpy.h:309:7: error: "RTE_MACHINE_CPUFLAG_AVX2"
is not defined [-Werror=undef]
#elif RTE_MACHINE_CPUFLAG_AVX2
Fixes: 9484092baad3 ("eal/x86: optimize memcpy for AVX512 platforms")
Signed-off-by: Michael Qiu <michael.qiu@intel.com>
---
app/test/test_memcpy_perf.c | 2 +-
lib/librte_eal/common/include/arch/x86/rte_memcpy.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
Comments
> Subject: [PATCH] lib/librte_eal: Fix compile issue with gcc 5.3.1
>
> In fedora 22 with GCC version 5.3.1, when compile,
> will result an error:
>
> include/rte_memcpy.h:309:7: error: "RTE_MACHINE_CPUFLAG_AVX2"
> is not defined [-Werror=undef]
> #elif RTE_MACHINE_CPUFLAG_AVX2
>
> Fixes: 9484092baad3 ("eal/x86: optimize memcpy for AVX512 platforms")
>
> Signed-off-by: Michael Qiu <michael.qiu@intel.com>
> ---
> app/test/test_memcpy_perf.c | 2 +-
> lib/librte_eal/common/include/arch/x86/rte_memcpy.h | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
There's issue in the original code.
#elif works with statements:
#elif < statement: true or false>
But what it meant is whether the identifier has been defined:
#elif defined <identifier>
Thanks for correcting this!
Acked-by: Wang, Zhihong <zhihong.wang@intel.com>
2016-01-28 15:30, Michael Qiu:
> In fedora 22 with GCC version 5.3.1, when compile,
> will result an error:
>
> include/rte_memcpy.h:309:7: error: "RTE_MACHINE_CPUFLAG_AVX2"
> is not defined [-Werror=undef]
> #elif RTE_MACHINE_CPUFLAG_AVX2
>
> Fixes: 9484092baad3 ("eal/x86: optimize memcpy for AVX512 platforms")
Thanks for the quick fix.
Note about the title formatting:
As you see in the "Fixes:" line, the title of the original commit
was starting with "eal/x86". Yours should adopt the same convention.
A lot of patches are sent with "lib/librte_eal" which was never used
in the git history. If not sure when writing the title, please check
the history to keep it consistent.
As usual, I will reword it.
Thanks for your attention
2016-01-28 08:01, Wang, Zhihong:
> > In fedora 22 with GCC version 5.3.1, when compile,
> > will result an error:
> >
> > include/rte_memcpy.h:309:7: error: "RTE_MACHINE_CPUFLAG_AVX2"
> > is not defined [-Werror=undef]
> > #elif RTE_MACHINE_CPUFLAG_AVX2
> >
> > Fixes: 9484092baad3 ("eal/x86: optimize memcpy for AVX512 platforms")
> >
> > Signed-off-by: Michael Qiu <michael.qiu@intel.com>
>
> There's issue in the original code.
>
> #elif works with statements:
> #elif < statement: true or false>
>
> But what it meant is whether the identifier has been defined:
> #elif defined <identifier>
>
> Thanks for correcting this!
>
> Acked-by: Wang, Zhihong <zhihong.wang@intel.com>
Applied, thanks
On 1/28/2016 4:32 PM, Thomas Monjalon wrote:
> 2016-01-28 15:30, Michael Qiu:
>> In fedora 22 with GCC version 5.3.1, when compile,
>> will result an error:
>>
>> include/rte_memcpy.h:309:7: error: "RTE_MACHINE_CPUFLAG_AVX2"
>> is not defined [-Werror=undef]
>> #elif RTE_MACHINE_CPUFLAG_AVX2
>>
>> Fixes: 9484092baad3 ("eal/x86: optimize memcpy for AVX512 platforms")
> Thanks for the quick fix.
>
> Note about the title formatting:
> As you see in the "Fixes:" line, the title of the original commit
> was starting with "eal/x86". Yours should adopt the same convention.
> A lot of patches are sent with "lib/librte_eal" which was never used
> in the git history. If not sure when writing the title, please check
> the history to keep it consistent.
OK, next time I will do it.
Thanks for point it out.
Thanks,
Michael
> As usual, I will reword it.
> Thanks for your attention
>
@@ -81,7 +81,7 @@ static size_t buf_sizes[TEST_VALUE_RANGE];
/* Data is aligned on this many bytes (power of 2) */
#ifdef RTE_MACHINE_CPUFLAG_AVX512F
#define ALIGNMENT_UNIT 64
-#elif RTE_MACHINE_CPUFLAG_AVX2
+#elif defined RTE_MACHINE_CPUFLAG_AVX2
#define ALIGNMENT_UNIT 32
#else /* RTE_MACHINE_CPUFLAG */
#define ALIGNMENT_UNIT 16
@@ -306,7 +306,7 @@ COPY_BLOCK_128_BACK63:
goto COPY_BLOCK_128_BACK63;
}
-#elif RTE_MACHINE_CPUFLAG_AVX2
+#elif defined RTE_MACHINE_CPUFLAG_AVX2
/**
* AVX2 implementation below