[dpdk-dev,2/2] examples: fix build errors for icc

Message ID 1459759611-13788-3-git-send-email-danielx.t.mrzyglod@intel.com (mailing list archive)
State Superseded, archived
Headers

Commit Message

Daniel Mrzyglod April 4, 2016, 8:46 a.m. UTC
  error: loops in this subroutine are not good vectorization candidates
 (try compiling with O3 and/or IPO).

Solution to disable this diagnostic message
https://software.intel.com/en-us/forums/intel-c-compiler/topic/537688

Fixes: d299106e8e31 ("examples/ipsec-secgw: add IPsec sample application")
Fixes: 8cc72f2814dd ("examples/vmdq_dcb: support X710")

Signed-off-by: Daniel Mrzyglod <danielx.t.mrzyglod@intel.com>
---
 examples/ipsec-secgw/Makefile | 4 ++++
 examples/vmdq_dcb/Makefile    | 4 +++-
 2 files changed, 7 insertions(+), 1 deletion(-)
  

Comments

De Lara Guarch, Pablo April 4, 2016, 9:33 a.m. UTC | #1
Hi Daniel,

> -----Original Message-----
> From: Mrzyglod, DanielX T
> Sent: Monday, April 04, 2016 9:47 AM
> To: dev@dpdk.org
> Cc: Wu, Jingjing; De Lara Guarch, Pablo
> Subject: [PATCH 2/2] examples: fix build errors for icc
> 
> error: loops in this subroutine are not good vectorization candidates
>  (try compiling with O3 and/or IPO).
> 
> Solution to disable this diagnostic message
> https://software.intel.com/en-us/forums/intel-c-compiler/topic/537688
> 
> Fixes: d299106e8e31 ("examples/ipsec-secgw: add IPsec sample application")
> Fixes: 8cc72f2814dd ("examples/vmdq_dcb: support X710")
> 
> Signed-off-by: Daniel Mrzyglod <danielx.t.mrzyglod@intel.com>
 
Which ICC version are you using? I don't see any errors with ICC 15.0, so is it with 16.0?

Thanks,
Pablo
  
Daniel Mrzyglod April 4, 2016, 9:38 a.m. UTC | #2
>From: De Lara Guarch, Pablo
>Sent: Monday, April 04, 2016 11:34 AM
>To: Mrzyglod, DanielX T <danielx.t.mrzyglod@intel.com>; dev@dpdk.org
>Cc: Wu, Jingjing <jingjing.wu@intel.com>
>Subject: RE: [PATCH 2/2] examples: fix build errors for icc
>
>Hi Daniel,
>
>> -----Original Message-----
>> From: Mrzyglod, DanielX T
>> Sent: Monday, April 04, 2016 9:47 AM
>> To: dev@dpdk.org
>> Cc: Wu, Jingjing; De Lara Guarch, Pablo
>> Subject: [PATCH 2/2] examples: fix build errors for icc
>>
>> error: loops in this subroutine are not good vectorization candidates
>>  (try compiling with O3 and/or IPO).
>>
>> Solution to disable this diagnostic message
>> https://software.intel.com/en-us/forums/intel-c-compiler/topic/537688
>>
>> Fixes: d299106e8e31 ("examples/ipsec-secgw: add IPsec sample application")
>> Fixes: 8cc72f2814dd ("examples/vmdq_dcb: support X710")
>>
>> Signed-off-by: Daniel Mrzyglod <danielx.t.mrzyglod@intel.com>
>
>Which ICC version are you using? I don't see any errors with ICC 15.0, so is it with
>16.0?

icc (ICC) 15.0.1 20141023
Copyright (C) 1985-2014 Intel Corporation.  All rights reserved.

When I did: make examples T=x86_64-native-linuxapp-icc
/mnt/shared/dtmrzglx/hubabuba/examples/vmdq_dcb/main.c(521): (col. 1) error: loops in this subroutine are not good vectorization candidates (try compiling with O3 and/or IPO).
compilation aborted for /mnt/shared/dtmrzglx/hubabuba/examples/vmdq_dcb/main.c (code 1)
/mnt/shared/dtmrzglx/hubabuba/mk/internal/rte.compile-pre.mk:126: recipe for target 'main.o' failed
make[4]: *** [main.o] Error 1
/mnt/shared/dtmrzglx/hubabuba/mk/rte.extapp.mk:42: recipe for target 'all' failed
make[3]: *** [all] Error 2
/mnt/shared/dtmrzglx/hubabuba/mk/rte.extsubdir.mk:46: recipe for target 'vmdq_dcb' failed
make[2]: *** [vmdq_dcb] Error 2
make[2]: *** Waiting for unfinished jobs....


/mnt/shared/dtmrzglx/hubabuba/examples/ipsec-secgw/sa.c(348): (col. 1) error: loops in this subroutine are not good vectorization candidates (try compiling with O3 and/or IPO).
compilation aborted for /mnt/shared/dtmrzglx/hubabuba/examples/ipsec-secgw/sa.c (code 1)
/mnt/shared/dtmrzglx/hubabuba/mk/internal/rte.compile-pre.mk:126: recipe for target 'sa.o' failed
make[4]: *** [sa.o] Error 1
  
De Lara Guarch, Pablo April 4, 2016, 10:26 a.m. UTC | #3
> -----Original Message-----
> From: Mrzyglod, DanielX T
> Sent: Monday, April 04, 2016 10:38 AM
> To: De Lara Guarch, Pablo; dev@dpdk.org
> Cc: Wu, Jingjing
> Subject: RE: [PATCH 2/2] examples: fix build errors for icc
> 
> >From: De Lara Guarch, Pablo
> >Sent: Monday, April 04, 2016 11:34 AM
> >To: Mrzyglod, DanielX T <danielx.t.mrzyglod@intel.com>; dev@dpdk.org
> >Cc: Wu, Jingjing <jingjing.wu@intel.com>
> >Subject: RE: [PATCH 2/2] examples: fix build errors for icc
> >
> >Hi Daniel,
> >
> >> -----Original Message-----
> >> From: Mrzyglod, DanielX T
> >> Sent: Monday, April 04, 2016 9:47 AM
> >> To: dev@dpdk.org
> >> Cc: Wu, Jingjing; De Lara Guarch, Pablo
> >> Subject: [PATCH 2/2] examples: fix build errors for icc
> >>
> >> error: loops in this subroutine are not good vectorization candidates
> >>  (try compiling with O3 and/or IPO).
> >>
> >> Solution to disable this diagnostic message
> >> https://software.intel.com/en-us/forums/intel-c-compiler/topic/537688
> >>
> >> Fixes: d299106e8e31 ("examples/ipsec-secgw: add IPsec sample
> application")
> >> Fixes: 8cc72f2814dd ("examples/vmdq_dcb: support X710")
> >>
> >> Signed-off-by: Daniel Mrzyglod <danielx.t.mrzyglod@intel.com>
> >
> >Which ICC version are you using? I don't see any errors with ICC 15.0, so is it
> with
> >16.0?

OK, I see that the problem is only in 15.0.1, but was fixed in 15.0.2 (my version).
Could you specify in the commit message the icc version that this patch is targeting?

Thanks,
Pablo
> 
> icc (ICC) 15.0.1 20141023
> Copyright (C) 1985-2014 Intel Corporation.  All rights reserved.
> 
> When I did: make examples T=x86_64-native-linuxapp-icc
> /mnt/shared/dtmrzglx/hubabuba/examples/vmdq_dcb/main.c(521): (col. 1)
> error: loops in this subroutine are not good vectorization candidates (try
> compiling with O3 and/or IPO).
> compilation aborted for
> /mnt/shared/dtmrzglx/hubabuba/examples/vmdq_dcb/main.c (code 1)
> /mnt/shared/dtmrzglx/hubabuba/mk/internal/rte.compile-pre.mk:126:
> recipe for target 'main.o' failed
> make[4]: *** [main.o] Error 1
> /mnt/shared/dtmrzglx/hubabuba/mk/rte.extapp.mk:42: recipe for target
> 'all' failed
> make[3]: *** [all] Error 2
> /mnt/shared/dtmrzglx/hubabuba/mk/rte.extsubdir.mk:46: recipe for target
> 'vmdq_dcb' failed
> make[2]: *** [vmdq_dcb] Error 2
> make[2]: *** Waiting for unfinished jobs....
> 
> 
> /mnt/shared/dtmrzglx/hubabuba/examples/ipsec-secgw/sa.c(348): (col. 1)
> error: loops in this subroutine are not good vectorization candidates (try
> compiling with O3 and/or IPO).
> compilation aborted for /mnt/shared/dtmrzglx/hubabuba/examples/ipsec-
> secgw/sa.c (code 1)
> /mnt/shared/dtmrzglx/hubabuba/mk/internal/rte.compile-pre.mk:126:
> recipe for target 'sa.o' failed
> make[4]: *** [sa.o] Error 1
  

Patch

diff --git a/examples/ipsec-secgw/Makefile b/examples/ipsec-secgw/Makefile
index da39e49..f9b59c2 100644
--- a/examples/ipsec-secgw/Makefile
+++ b/examples/ipsec-secgw/Makefile
@@ -42,6 +42,10 @@  APP = ipsec-secgw
 
 CFLAGS += -O3 -gdwarf-2
 CFLAGS += $(WERROR_FLAGS)
+ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
+CFLAGS_sa.o += -diag-disable=vec
+endif
+
 
 VPATH += $(SRCDIR)/librte_ipsec
 
diff --git a/examples/vmdq_dcb/Makefile b/examples/vmdq_dcb/Makefile
index 10a9a9a..8c51131 100644
--- a/examples/vmdq_dcb/Makefile
+++ b/examples/vmdq_dcb/Makefile
@@ -51,7 +51,9 @@  CFLAGS += $(WERROR_FLAGS)
 ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
 CFLAGS_main.o += -Wno-return-type
 endif
-
+ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
+CFLAGS_main.o += -diag-disable=vec
+endif
 EXTRA_CFLAGS += -O3 -g
 
 include $(RTE_SDK)/mk/rte.extapp.mk