Message ID | 1440408177-29394-1-git-send-email-michael.qiu@intel.com (mailing list archive) |
---|---|
State | Changes Requested, archived |
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id C17878D87; Mon, 24 Aug 2015 11:23:05 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id B9EF3688E for <dev@dpdk.org>; Mon, 24 Aug 2015 11:23:04 +0200 (CEST) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga103.jf.intel.com with ESMTP; 24 Aug 2015 02:23:03 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.15,736,1432623600"; d="scan'208";a="754232226" Received: from shvmail01.sh.intel.com ([10.239.29.42]) by orsmga001.jf.intel.com with ESMTP; 24 Aug 2015 02:23:04 -0700 Received: from shecgisg004.sh.intel.com (shecgisg004.sh.intel.com [10.239.29.89]) by shvmail01.sh.intel.com with ESMTP id t7O9N1SK019973; Mon, 24 Aug 2015 17:23:01 +0800 Received: from shecgisg004.sh.intel.com (localhost [127.0.0.1]) by shecgisg004.sh.intel.com (8.13.6/8.13.6/SuSE Linux 0.8) with ESMTP id t7O9MwQQ029429; Mon, 24 Aug 2015 17:23:00 +0800 Received: (from dayuqiu@localhost) by shecgisg004.sh.intel.com (8.13.6/8.13.6/Submit) id t7O9MwwN029425; Mon, 24 Aug 2015 17:22:58 +0800 From: Michael Qiu <michael.qiu@intel.com> To: dev@dpdk.org Date: Mon, 24 Aug 2015 17:22:57 +0800 Message-Id: <1440408177-29394-1-git-send-email-michael.qiu@intel.com> X-Mailer: git-send-email 1.7.4.1 Subject: [dpdk-dev] [PATCH] librte_eal: Fix wrong header file for old gcc version X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK <dev.dpdk.org> List-Unsubscribe: <http://dpdk.org/ml/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://dpdk.org/ml/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <http://dpdk.org/ml/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Commit Message
Michael Qiu
Aug. 24, 2015, 9:22 a.m. UTC
For __SSE3__, the corresponding header file should be pmmintrin.h,
tmmintrin.h works for __SSSE3__.
Signed-off-by: Michael Qiu <michael.qiu@intel.com>
---
lib/librte_eal/common/include/arch/x86/rte_vect.h | 4 ++++
1 file changed, 4 insertions(+)
Comments
2015-08-24 17:22, Michael Qiu: > For __SSE3__, the corresponding header file should be pmmintrin.h, > tmmintrin.h works for __SSSE3__. Please could you better explain the difference and what is exactly the bug being fixed? Thanks
On 2015/9/7 22:46, Thomas Monjalon wrote: > 2015-08-24 17:22, Michael Qiu: >> For __SSE3__, the corresponding header file should be pmmintrin.h, >> tmmintrin.h works for __SSSE3__. > Please could you better explain the difference and what is exactly the bug > being fixed? It should solve this issue: [dpdk-dev] DPDK 2.1.0 build error: inlining failed in call to always_inline /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/tmmintrin.h:185:1: error: inlining failed in call to always_inline ‘_mm_alignr_epi8’: t arget specific option mismatch _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N) ^ The AMD cpu flags: flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxe xt fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni monitor cx16 popcnt lah f_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt cpb hw_pstate npt lbrv svm_lock nrip_sa "_mm_alignr_epi8" only works for ssse3 or upper, but this AMD CPU does not support that. This function has been wrongly called, because the wrong header file. Thanks, Michael > Thanks > >
Hi, all Any comments on this? Thanks, Michael On 2015/9/25 10:56, Qiu, Michael wrote: > On 2015/9/7 22:46, Thomas Monjalon wrote: >> 2015-08-24 17:22, Michael Qiu: >>> For __SSE3__, the corresponding header file should be pmmintrin.h, >>> tmmintrin.h works for __SSSE3__. >> Please could you better explain the difference and what is exactly the bug >> being fixed? > It should solve this issue: > > [dpdk-dev] DPDK 2.1.0 build error: inlining failed in call to always_inline > > /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include/tmmintrin.h:185:1: error: inlining failed in call to always_inline ‘_mm_alignr_epi8’: t > arget specific option mismatch > _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N) > > ^ > The AMD cpu flags: > > flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxe > xt fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni monitor cx16 popcnt lah > f_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt cpb hw_pstate npt lbrv svm_lock nrip_sa > > > "_mm_alignr_epi8" only works for ssse3 or upper, > but this AMD CPU does not support that. This function has been wrongly called, because the wrong header file. > > Thanks, > Michael > > >> Thanks >> >> >
On Mon, Aug 24, 2015 at 05:22:57PM +0800, Michael Qiu wrote: > For __SSE3__, the corresponding header file should be pmmintrin.h, > tmmintrin.h works for __SSSE3__. > > Signed-off-by: Michael Qiu <michael.qiu@intel.com> Since this is a bug-fix, it should probably have a fixes line in the commit. Otherwise the change looks ok. Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Please submit a v2 with complete git message including compiler error, Fixes and Acked-by tags. Thanks 2015-10-13 09:54, Bruce Richardson: > On Mon, Aug 24, 2015 at 05:22:57PM +0800, Michael Qiu wrote: > > For __SSE3__, the corresponding header file should be pmmintrin.h, > > tmmintrin.h works for __SSSE3__. > > > > Signed-off-by: Michael Qiu <michael.qiu@intel.com> > > Since this is a bug-fix, it should probably have a fixes line in the commit. > Otherwise the change looks ok. > > Acked-by: Bruce Richardson <bruce.richardson@intel.com>
diff --git a/lib/librte_eal/common/include/arch/x86/rte_vect.h b/lib/librte_eal/common/include/arch/x86/rte_vect.h index b698797..8a4dace 100644 --- a/lib/librte_eal/common/include/arch/x86/rte_vect.h +++ b/lib/librte_eal/common/include/arch/x86/rte_vect.h @@ -51,6 +51,10 @@ #endif #ifdef __SSE3__ +#include <pmmintrin.h> +#endif + +#ifdef __SSSE3__ #include <tmmintrin.h> #endif