From patchwork Thu Nov 5 16:38:09 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 8716 Return-Path: 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 66E3D91CB; Thu, 5 Nov 2015 17:39:36 +0100 (CET) Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1on0063.outbound.protection.outlook.com [157.56.110.63]) by dpdk.org (Postfix) with ESMTP id D4E9991CA for ; Thu, 5 Nov 2015 17:39:34 +0100 (CET) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.Jacob@caviumnetworks.com; Received: from jerin.caveonetworks.com (111.93.218.67) by CY1PR0701MB1977.namprd07.prod.outlook.com (10.163.141.19) with Microsoft SMTP Server (TLS) id 15.1.312.18; Thu, 5 Nov 2015 16:39:31 +0000 From: Jerin Jacob To: Date: Thu, 5 Nov 2015 22:08:09 +0530 Message-ID: <1446741498-3096-7-git-send-email-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 1.9.3 In-Reply-To: <1446741498-3096-6-git-send-email-jerin.jacob@caviumnetworks.com> References: <1446741498-3096-1-git-send-email-jerin.jacob@caviumnetworks.com> <1446741498-3096-2-git-send-email-jerin.jacob@caviumnetworks.com> <1446741498-3096-3-git-send-email-jerin.jacob@caviumnetworks.com> <1446741498-3096-4-git-send-email-jerin.jacob@caviumnetworks.com> <1446741498-3096-5-git-send-email-jerin.jacob@caviumnetworks.com> <1446741498-3096-6-git-send-email-jerin.jacob@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: MA1PR01CA0067.INDPRD01.PROD.OUTLOOK.COM (25.164.116.167) To CY1PR0701MB1977.namprd07.prod.outlook.com (25.163.141.19) X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1977; 2:T2GByJfseVr8bSfMk2oUcAVrSUmUk6BSrOLRgxnCRUnZ8ZRQRLBpqEj8bgcHkSN0NdVIeQuVpSvPTVBp/IK3ao5rGvnH0noAD706lAd4Af0r3SXAbd8hvzA7SycNrDOlZsC6RFVZisCmxTbFl/pXwWbyf8LneJEaMp7S5pZ3EjA=; 3:zEtVru0otQ9ApA4UTyxwOp/PNGxgeGCFBxlrWwu673JEHo1ezJoy+RNmFM/b+89qkZ0hyevJzTiSc+gSDhbEpyXlImhO9LxtO0BMUHGbOkx7Nf/Z9IqRNvhHfeIkpfuW5VWM90rjhIQw06anWFe4Ag==; 25:y7jnznwvJXSQhjly2ex0GeTrLb/NmIL4i8PHHsHCXucWUqzYCFrAUQQM3u6NWxba+WTtCJ/liQwxO1FJXAb1DGaElPxxEKCyjlyn2rbXF5bqZzi0v+AM956WHOJMxaDyPLpxxejcerYPtzf36lRZPVdsP3nMtzlRXeROuJG6Fc22W43wb+DOEGRlMqAb1ikTSA8AiU2K5XYK65mymEKPFlRKdl4DBzNZWyF1HbX2UxB7PJAe9diK8gSrOuz3tmH3tXGEZfCTMAROH+rUG9N18A== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0701MB1977; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1977; 20:XnGP9f/TsTZmiqlqIOilHx3Eisyzzl4MV6osCdT4ROr9GaFy4QZNtvaZGAbSfr35RdFP346BXj5hWjsX/7OIFxjtQYqZngQkpfNc8/HyJlfNRhGT9DyECXWC3DL/rEx8+k07KCQMtuSK+MGrxENWD0wtAU6fHsxFEcLFHUiq0J6X2ps3B+gQfepc5Gc5pSVBhNQ9gkolEEsk5GlvnCegek7m3yczHmUSrXWhU3Mb3V6klEQ9kPKB2Qd2Df14y2Xls1bh/hsKUUAbEZ8TtL0bmqhvk14ycmY1MqmPcrdfm9leiNt1PdyvQ5fDk3+cOGJkAH7kXpUMVpO0TkUcUxa+VRpRVFeGNj9vfFmhsVLshpD45GSCRI1bVh/NL30sP9EU9W8+SI1arRMVjMmqZIE4l6NWRokQ3R3mD29UW0DBNvtL5+Jqx6gN94GSYFH7kq1aQwq2hQfuAaI1G5E2ArtpgQqBb5Q8aXVKwFtb+EjMw1EhvpAaFzzZr3nECz5oCNie1ykXA3myJ7l/iHkCrqosOOxMmqBhbJklZRD1hUfH3f1o0mWfLynKXi+UP4QRY6hGWcDgDKEVsfAdN4jfmng7yqbr2GsqGTAYiOw2KR/yfWQ= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236414709691187); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(520078)(5005006)(8121501046)(3002001)(10201501046); SRVR:CY1PR0701MB1977; BCL:0; PCL:0; RULEID:; SRVR:CY1PR0701MB1977; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1977; 4:0zYjZqvmzBVwQMsGctbqoGjXCqRPuXPCK06GMi0ucEMj1exIk69tPJOCK9nQVKvQSulYj/mjWXNHJgQYvLQgP7yYVeAIaCnK0Jg6pot+u1mTk8EJuDGPrk1RPL4xSTnh+Rhl2McqpX7Uuys2+0rgKKyQgRpWLc/eU53FMhdtgKoqIRt9l0V1POXGStso7Ol+HeffuTuMGRQzhuYLQz3i43UksBMiEptXS5Qv2mW+NNCEkTnhJuSrv/xeVxvpR5vXHComL1gIVkOH03E8FOzgy48IQNTQm+S+xVw16AouWTlGeVyXUn5tn0S1jyGApXfQ14FSVz2BA5pDvfSiB6iNJ08DAbA+gAC4mmESqGo/Q/a2gLQ/gvOgZvgx5RSipg5i X-Forefront-PRVS: 0751474A44 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(189002)(199003)(5007970100001)(86362001)(5001960100002)(107886002)(36756003)(122386002)(40100003)(189998001)(42186005)(5008740100001)(87976001)(110136002)(97736004)(66066001)(101416001)(92566002)(2950100001)(5009440100003)(4001430100002)(19580405001)(76176999)(5003940100001)(50986999)(50226001)(50466002)(106356001)(77096005)(105586002)(5004730100002)(2351001)(81156007)(229853001)(48376002)(33646002)(19580395003)(69596002)(53416004)(93886004)(47776003)(7099028); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0701MB1977; H:jerin.caveonetworks.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: caviumnetworks.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0701MB1977; 23:av2H2ThT6hfYV+CDEsTKVFZr/w2/pO2R8oZ1A8H?= =?us-ascii?Q?krVfQmo4wRgFEeyR4Akibay06iqwUb4d+ybWPERCP+Xv5cRKgHlz2C4iKJiX?= =?us-ascii?Q?utrBrLLuGccAGDIeuZ8EiuJnW+vAKISZVPOueOU3kV/kxhvh3k0HwSp6wvwT?= =?us-ascii?Q?2JE+5UTHZyWFarS4ajW7okSmE8kOh5/urUb/iVtvfRxFF/FBmdBPqXRT+l4i?= =?us-ascii?Q?Q6Th/CPjcSZnGwxzv1RBWApww0k/pvwaDrirhIeNPrwp6WsOcf56Og/T94Gj?= =?us-ascii?Q?5I23dbiXnzmwdU/1RZ1/wN+uqELuVkvDpNX6kmhDklJ5Cxy7zB/hkxeK+5Qh?= =?us-ascii?Q?9hmiadTpnmMHKQQhIcJKUUErZR4ncsuvjbNeCxgkv3Jadgb4PWZtW/VKpVhI?= =?us-ascii?Q?rPvGkQmaw2zQPJ/Dd+cHxVdc/MIdL2faZI/amgLzR5qmhwhDHysMJ2QV2a1U?= =?us-ascii?Q?Bx95VmDjsuEOAFntVL+fo+kRRMFUsxdXdI4Acauolpvjkkedxsd+ltEf8P9Q?= =?us-ascii?Q?fbQzKxMp/W2D0pJnEuDCB2N2jmo0WOI7oKuXDfYCTx58UiDL4tWGzADSXTpQ?= =?us-ascii?Q?lyA/eOekQeF7mPINbxcRG1nd+7v6cAosE3PFure4nb8biX2ueglhhhVcRMaK?= =?us-ascii?Q?F62QSF360v7bUI4SgdisTKgmWGO61Aj1Cnb/YfzhRQxoDTbxrk7PkYfc4Q8v?= =?us-ascii?Q?gMQ8iReHDH1A9Gts3Jc9vQOBZ2e2mfZYBvTTiO5SpcDB2bK9m2nBupxxhlmL?= =?us-ascii?Q?ZOLFg0DHZKbqJfqOnx69cvBZjwCdaJBaxbGF9pLXi53LGMv0GBQ7EmaDN8nC?= =?us-ascii?Q?X3eYFVCqZKEJQ3dqA+KrR6JYHlyBkNpMypDFFvflRKwOrv8U5bwlCu+dFJuf?= =?us-ascii?Q?CXkcChv+t/AZhJY/jg5Dzh2hAtlPYTbMaojbnb6tVXtJOkUP59LguQQyTAYL?= =?us-ascii?Q?Bihf3mz0ixAQUMvV8ums53dQGPZz/7unYUfnLJ2i3/R3XNgHY08cxSwiBayM?= =?us-ascii?Q?7+PgW3kHhTaC8EUpSJhsWbmblKNCjVUOp16dUhnLMhKOm/CmQlz18xw6A6t6?= =?us-ascii?Q?E6BWnL6aadJaRI53scqjO2EiXKFpF5I9a386X6nVlwT4Svv23gaedjnTyupY?= =?us-ascii?Q?JncWs25AMTGTt63ywMM5k4xD36GkOOOTYo9ItSIqNZawHjSpW1bRkcg=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1977; 5:pqEYgx+hdXk2sxm30ogCBK4B3HSAUGSjOuAg/SUWbzftEqj7CbwcxfXsENrx9te6W4tDWMF4RvPOZY5lfUb6y2U5W9IGzy0k6f5bPT7DYU6iqPg+IOZWKA+7delUOxzEQS7FSZc5CIJpCwLZiEUzFA==; 24:IsdXHwOSbVWJha5/rS8TlGnbBfLqr1rfLtjrYntlFcPZ5GrWphFAO0PfehYjAi9XP2MVDVrU81a7jWHblirzV0bv5iCDOTKj8aSq+zzc5J8=; 20:43iybLOxFjUNeZ46fJJk33nRx8g8ZMbSuHAG3/t8m/z0WYrjZ3eSo96tfjo4d/cE7SUH4QfOolBltc467YApOQ== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Nov 2015 16:39:31.8823 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0701MB1977 Subject: [dpdk-dev] [PATCH 06/15] eal: arm: ret_vector.h improvements X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" added the definition of rte_xmm and xmm_t for acl noen implementation. removed the emulated _mm_* functions Signed-off-by: Jerin Jacob --- lib/librte_eal/common/include/arch/arm/rte_vect.h | 54 +++++++---------------- 1 file changed, 15 insertions(+), 39 deletions(-) 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 7d5de97..21cdb4d 100644 --- a/lib/librte_eal/common/include/arch/arm/rte_vect.h +++ b/lib/librte_eal/common/include/arch/arm/rte_vect.h @@ -1,7 +1,7 @@ /*- * BSD LICENSE * - * Copyright(c) 2015 RehiveTech. All rights reserved. + * Copyright(c) 2015 Cavium Networks. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -13,7 +13,7 @@ * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. - * * Neither the name of RehiveTech nor the names of its + * * Neither the name of Cavium Networks nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * @@ -33,49 +33,25 @@ #ifndef _RTE_VECT_ARM_H_ #define _RTE_VECT_ARM_H_ +#include "arm_neon.h" + #ifdef __cplusplus extern "C" { #endif -#define XMM_SIZE 16 -#define XMM_MASK (XMM_MASK - 1) - -typedef struct { - union uint128 { - uint8_t uint8[16]; - uint32_t uint32[4]; - } val; -} __m128i; - -static inline __m128i -_mm_set_epi32(uint32_t v0, uint32_t v1, uint32_t v2, uint32_t v3) -{ - __m128i res; - - res.val.uint32[0] = v0; - res.val.uint32[1] = v1; - res.val.uint32[2] = v2; - res.val.uint32[3] = v3; - return res; -} +typedef int32x4_t xmm_t; -static inline __m128i -_mm_loadu_si128(__m128i *v) -{ - __m128i res; +#define XMM_SIZE (sizeof(xmm_t)) +#define XMM_MASK (XMM_SIZE - 1) - res = *v; - return res; -} - -static inline __m128i -_mm_load_si128(__m128i *v) -{ - __m128i res; - - res = *v; - return res; -} +typedef union rte_xmm { + xmm_t x; + uint8_t u8[XMM_SIZE / sizeof(uint8_t)]; + uint16_t u16[XMM_SIZE / sizeof(uint16_t)]; + uint32_t u32[XMM_SIZE / sizeof(uint32_t)]; + uint64_t u64[XMM_SIZE / sizeof(uint64_t)]; + double pd[XMM_SIZE / sizeof(double)]; +} __attribute__((aligned(16))) rte_xmm_t; #ifdef __cplusplus }