From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <jianbo.liu@linaro.org>
Received: from foss.arm.com (foss.arm.com [217.140.101.70])
 by dpdk.org (Postfix) with ESMTP id 0D71B548B
 for <dev@dpdk.org>; Mon, 15 May 2017 05:35:19 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 705B780D;
 Sun, 14 May 2017 20:35:18 -0700 (PDT)
Received: from localhost.localdomain.com (usa-sjc-imap-foss1.foss.arm.com
 [10.72.51.249])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 9B8ED3F23B;
 Sun, 14 May 2017 20:35:17 -0700 (PDT)
From: Jianbo Liu <jianbo.liu@linaro.org>
To: dev@dpdk.org, tomasz.kantecki@intel.com, jerin.jacob@caviumnetworks.com,
 ashwin.sekhar@caviumnetworks.com
Cc: Jianbo Liu <jianbo.liu@linaro.org>
Date: Mon, 15 May 2017 11:34:53 +0800
Message-Id: <1494819296-23049-6-git-send-email-jianbo.liu@linaro.org>
X-Mailer: git-send-email 1.8.3.1
In-Reply-To: <1494819296-23049-1-git-send-email-jianbo.liu@linaro.org>
References: <1493709255-8887-1-git-send-email-jianbo.liu@linaro.org>
 <1494819296-23049-1-git-send-email-jianbo.liu@linaro.org>
Subject: [dpdk-dev] [PATCH v4 5/8] arch/arm: add vcopyq_laneq_u32 for old
	version of gcc
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <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>
X-List-Received-Date: Mon, 15 May 2017 03:35:19 -0000

Implement vcopyq_laneq_u32 if gcc version is lower than 7.

Signed-off-by: Jianbo Liu <jianbo.liu@linaro.org>
---
 lib/librte_eal/common/include/arch/arm/rte_vect.h | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/lib/librte_eal/common/include/arch/arm/rte_vect.h b/lib/librte_eal/common/include/arch/arm/rte_vect.h
index 4107c99..d9fb4d0 100644
--- a/lib/librte_eal/common/include/arch/arm/rte_vect.h
+++ b/lib/librte_eal/common/include/arch/arm/rte_vect.h
@@ -78,6 +78,15 @@
 }
 #endif
 
+#if defined(RTE_TOOLCHAIN_GCC) && (GCC_VERSION < 70000)
+static inline uint32x4_t
+vcopyq_laneq_u32(uint32x4_t a, const int lane_a,
+		 uint32x4_t b, const int lane_b)
+{
+	return vsetq_lane_u32(vgetq_lane_u32(b, lane_b), a, lane_a);
+}
+#endif
+
 #ifdef __cplusplus
 }
 #endif
-- 
1.8.3.1