From patchwork Fri Nov 6 09:40:25 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 8756 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 C104A8E6A; Fri, 6 Nov 2015 10:41:40 +0100 (CET) Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1on0093.outbound.protection.outlook.com [157.56.110.93]) by dpdk.org (Postfix) with ESMTP id D52BB5A71 for ; Fri, 6 Nov 2015 10:41:39 +0100 (CET) Received: from BLUPR0701MB1969.namprd07.prod.outlook.com (10.163.121.20) by BLUPR0701MB1587.namprd07.prod.outlook.com (10.163.84.149) with Microsoft SMTP Server (TLS) id 15.1.312.18; Fri, 6 Nov 2015 09:41:38 +0000 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.Jacob@caviumnetworks.com; Received: from jerin.caveonetworks.com (111.93.218.67) by BLUPR0701MB1969.namprd07.prod.outlook.com (10.163.121.20) with Microsoft SMTP Server (TLS) id 15.1.318.15; Fri, 6 Nov 2015 09:41:35 +0000 From: Jerin Jacob To: Date: Fri, 6 Nov 2015 15:10:25 +0530 Message-ID: <1446802833-22265-7-git-send-email-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 1.9.3 In-Reply-To: <1446802833-22265-1-git-send-email-jerin.jacob@caviumnetworks.com> References: <1446802833-22265-1-git-send-email-jerin.jacob@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: MA1PR01CA0066.INDPRD01.PROD.OUTLOOK.COM (25.164.116.166) To BLUPR0701MB1969.namprd07.prod.outlook.com (25.163.121.20) X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1969; 2:bYb/1MEhZq46sowtoNdm8UBAqqgvvlacDS5nio5OMIuZlNZVUlHk4VhdqBKEYpFnI5Oeh7SD08sUpBGtW5Bzfol0A7wL6m3mzi7ISIJHiRiFJvwaPqLVBCNgigLPzQVwhIpzmyRTYSVyD0TbiZY1gFWnAb66OfuJ7fBKmO0zElk=; 3:Z8ys+TfFV08q5G5AvLdp/9d4VbOsUul51NJeU8fbxCefi7Jxt8CN7Y5T1CsF98lMH/JDnaEukUMM0Ry+p3EN6YhBzhPDMgGz1DsZ0K/MQkLl8cDJOUBl/MKcF2gWMRisP1y03b6Cy6WJGJY4E+Wl9g==; 25:l3BfgLjUo4PIkEhrMBoXvY5MoeE8oQAtkFZ49WIQ/3mBD7loJ67JpNlCZg9XwjyS799WwqXdFmEiiCmiMlO/rURIa23A8Co5aUvMRYI2m0l3Ajp+PyxVTDbH4EhnX6maOjbp7MeUiZiAVXf7cj4qwT+3V26xUUEry7fv7PC6IoKrdBR4Xe35fe0ty+CxET7eYTvGV5rtxNW/K1jkF0+jqfH8Z/6RFiUjaiu1p9jii7/ZqeI8VjE/WzzAXo5JMPwIk7H8yChiyiAOvEubY4ipSA== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0701MB1969; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1969; 20:0ngS8fva2PMAWcvJdEV5DEnWjdfh78gRlBu4l9bKcexwidvLF6Dc1PUSzRsVzyUKOHLCIT0+Ij2NiMG2NUd4s979LCaZH8h0jTT88BcUc+AGBDKQ6iFsna3kqDoK7ngcvJqLO/m2z9ZbRcc+2PG/fHFD7XJ2ZA/EDhejur06uQnLWIeXh2SYg592QtRASv+YTRh1+vngeLim1YNm4Js5JdYkbueRf76WiEMdT5A4NH0PconYg80FgeIph7OIXfTbWJoD1xpURFwyhxPWB6AGIlsTr6jVuYDk6hpCxVNtlrLUNfqfslFLsDPVmnY0Xia+gIbhkddMBblNp+aOlzK2FDsMoDf1ZTqtLLHh54TOportju6/Gd+JKB+wxAXdAYsxPDdm/lcwecJcT1pRKssrsBojxp8wztZiJ7mnff/TEO6xpkj0eh8QSOSNasnIvgZjOJ0rzb0OIdIWs6a4PLjWfQKeY4KpRXro/YWTXc9FECx4zef8MEeXOM7dKeEZKhO97XxASE13g2CpqOJPG1kdJZGtrBcWx6ZrO5xAtmcIW0CdBRYdrez6fRlGlje0LO1Nm8jW6iTzVqqHdf5KxUbIWCs523BFlooK0VkCoVRji8M= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236414709691187); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(3002001)(10201501046); SRVR:BLUPR0701MB1969; BCL:0; PCL:0; RULEID:; SRVR:BLUPR0701MB1969; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1969; 4:WOADMreR7vV+7SupZC3SaszDzaoRzPKa/yLpO8dB/qJEMwplK9umKs6eDxXs7bsmqxpTc/+R/QRce9twCn7ro+o8m9MxmHGWYcbuDxtEgGqOTVJ7ehWu3V3R+KTB7QEeSQ8DXkeMqdESnZbBEwU+pggWVTF7Ur8to5InB5fSQneizWW8mhsRzBjQ/PtM/bdxGyk6KllOJsLi1VdlzgkOwIBSTJUrXgaXn95A/EkgBLqKzdnaJ5KRo50VwlkMal+D96/QIdys0RHOhEHachRmhXJScI9/VgaCkW3paH/S0iJgJuKiRsvJqiK9/N0xYHWXv6fhSNFotQf7VdXDLRvQqT4E8aE/TPQmn64rmY8KJUmaxdoHvHH6X+V/oUeWV/Wo X-Forefront-PRVS: 07521929C1 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(189002)(199003)(50226001)(122386002)(48376002)(50986999)(50466002)(106356001)(229853001)(110136002)(19580405001)(40100003)(76176999)(87976001)(105586002)(5004730100002)(77096005)(19580395003)(2351001)(5003940100001)(92566002)(107886002)(189998001)(5007970100001)(33646002)(5001960100002)(66066001)(5009440100003)(42186005)(2950100001)(4001430100002)(97736004)(101416001)(69596002)(47776003)(36756003)(5008740100001)(53416004)(81156007)(86362001)(7099028); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB1969; 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; BLUPR0701MB1969; 23:UqHQGZxLAWSC9hMb+rEmbGDTzODbKhL/DTJry17?= =?us-ascii?Q?7KEjA8Cz1FFo0CZ32TgOFEILGQrUIkMKKNQ4ho2IP9tJcFQzB8sdTuxl3XkQ?= =?us-ascii?Q?BYAq/pyKs35/5JZxriHOzji+hHRBNOR32zMNiegBq3oDUV2+0/fFYO/Yc01g?= =?us-ascii?Q?eXsG9RoY53Or6fwX/YoomcH5Z8LtWMoqXoaxqlft+4/zgnDcLNJ0+OOdwHfI?= =?us-ascii?Q?dIHBHnxRFEICicNIe4L7ZMbw5MAseEulgkGqfSjw4oTOcHppaNvnpXCGBqmP?= =?us-ascii?Q?MYOXsotajgbVTMBEJ17C2DagW/hchrgs94nc6Gk6XxUYUOHSmw/Wy+qLh+9O?= =?us-ascii?Q?qxKgQgMidU6LgKmGMgGQ5nAGh51SEwmg9xOuoRXvwAHgr8tFfdWo9EyCkMWB?= =?us-ascii?Q?nw0tQF7CB2uGFzwhtlYKgtghly8DxtNRZ37P2+e9YnV5lq7z6uynfjdaKMXw?= =?us-ascii?Q?emNq9WqynHouV/6Ht/eQor8ZXtLYKol7F/C7Zb6Nt0WYL1U+/CrAihqNYtxG?= =?us-ascii?Q?9r0JhsCvGrywcNSY6mJBNqZam//npwDhlWglXtfLO0iEzIKn5SvQrJDnUR/T?= =?us-ascii?Q?nH5T+PLIcRxcFYAjpPLGmifC/2v7WDiM0B9R31b1zXDBKgjpSEGBNcyNZDFs?= =?us-ascii?Q?00CA3eAZQJHmb0YIulWG8FH7ezKdHhUr07ZbUhhwl/9wRKkP06uF6A5H5POX?= =?us-ascii?Q?Uk5uGCO0FapZda4ZUfn64TKMaKrCRJfpRKQewlBCWJ+pgUUq1uS0PTVz+FdT?= =?us-ascii?Q?gdV3TQhmg/5JuVQlqE44fD0EnuIkqmw0ruI2jyaJ9QLhP3p6NZh7T0WpGLMX?= =?us-ascii?Q?qXbSHyueNo3kyATQIgDmgFGr5fioPhh8M92+qYD305CE6uapOPKp8aYxBX1A?= =?us-ascii?Q?TI6GlxLs00e5poslBvYDsO2VsR7VFBMwj/8dDM+CshsT9hslPq/5SQonVs6e?= =?us-ascii?Q?WUOakE5jLNyPefAZt9a0N9JZo7tEQ9vrdJ4Do5sKPpPa2eoCQYjyfrnt35Jq?= =?us-ascii?Q?sAG71D9wXXjYblKgETyoXG/KwOflmgw9LkRXuS/C8F6RkLQgz+MiaLAasz1C?= =?us-ascii?Q?fkWsqqTQarxD24y4EWePWw4pgPNFShOLxnDPNweH5UHPp+ZEik6iRNZ5teKP?= =?us-ascii?Q?py3mm6JSPXJgwqVwBTKTgiMXPDKzmTtXO?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1969; 5:WsCCz6WbSWs2cyOSguAKgvFRaE0XWFIh2ooFI5zN3h2/VZBtOn/adEhXJrB5mTBBci/MMRnq7sLh3rPF+Ul/PI1lbLBP6I2TkPozsGeXOHiw0/cTS3enhoRswdEwOM4cns4oB+fv1E1ZPElHi5S+4g==; 24:w1ak1avjvNVTHizy7IlOGz/6xwzuPxovvAxQ7BM9aoAWoAVzUg+ZbeQGP+Op2jFtyYEQHJ1m/KIfds6Q2ki4HoA70csJooh3ZPCbkbh8stw=; 20:gy7MXzEWlr3ShczYI7E1vQ8jQEWozFvVwqzaBX+y0x4lAjLaNitfQnBxjVeKfFtg7h8XSCMgOkfXLzdd8QjjQQ== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2015 09:41:35.4914 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1969 X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1587; 2:ueVm+H7kyAjuB3H5YjpUD7eHqbUabtZJtV2Om3V16KY5WUQ4zDUZTqolFgtrVxjg4mDvArBun8h71m3J59Y419uCU7x4J4wrHhBNlVG4L1GgHyvWTO7NjK9FTptcZBGz1apCEz2n5lOxWOCJEaQaV7pW9Z9cfaBICytsspvLhhg=; 23:3EkthE7ne608PYJBqlO0hjqgLctRenawtXtle3xvfzFsrVWtNaG2lm6tn7v6XJl1ZMOfIwSzi126ysm5jiajLy3+6HpxegPrCiW+oFaVxNwjDavIA4BBHT+oE+mL6ZBCS3w6SPeuHZMntrpMT+vIdO6FXEG/UTj+FFMPDGZw9mdonDRv/JUc8Dol4wmMUHkH X-OriginatorOrg: caviumnetworks.com Subject: [dpdk-dev] [PATCH v3 06/14] 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 }