From patchwork Tue Nov 3 13:09:07 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 8587 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 16AD99224; Tue, 3 Nov 2015 14:10:27 +0100 (CET) Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2on0091.outbound.protection.outlook.com [65.55.169.91]) by dpdk.org (Postfix) with ESMTP id 02FA19223 for ; Tue, 3 Nov 2015 14:10:25 +0100 (CET) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.Jacob@caviumnetworks.com; Received: from localhost.caveonetworks.com (111.93.218.67) by BY2PR0701MB1974.namprd07.prod.outlook.com (10.163.155.20) with Microsoft SMTP Server (TLS) id 15.1.312.18; Tue, 3 Nov 2015 13:10:20 +0000 From: Jerin Jacob To: Date: Tue, 3 Nov 2015 18:39:07 +0530 Message-ID: <1446556153-18845-7-git-send-email-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.1.0 In-Reply-To: <1446556153-18845-6-git-send-email-jerin.jacob@caviumnetworks.com> References: <1446556153-18845-1-git-send-email-jerin.jacob@caviumnetworks.com> <1446556153-18845-2-git-send-email-jerin.jacob@caviumnetworks.com> <1446556153-18845-3-git-send-email-jerin.jacob@caviumnetworks.com> <1446556153-18845-4-git-send-email-jerin.jacob@caviumnetworks.com> <1446556153-18845-5-git-send-email-jerin.jacob@caviumnetworks.com> <1446556153-18845-6-git-send-email-jerin.jacob@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: MAXPR01CA0048.INDPRD01.PROD.OUTLOOK.COM (25.164.146.148) To BY2PR0701MB1974.namprd07.prod.outlook.com (25.163.155.20) X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB1974; 2:/vkx7xj17zqUZffuN8PG/GCCBYP1aERLhv+vdnGN1Q9OwvHnZbK1dHtHyjQiHOd4hEYXi1dhqq5vmsWhHqU2djETyrzZkTyGHky88MR5avj5vom4yU3fM9ji6SJDbX+p4vUOwXmu5utRZnDyby36zOt8gw6xTxDQZYbSojVB/9A=; 3:a+9U3Ss+cdm0XFic2rC/KGwJWcJIpFiPuz7dTClSADaziZMfs35B3lP3CrTZwlNSxY2YvCmBpqqIl5EpmcGWBsdB3S3Rw7Z6ZtWZwjiIlWwBLfuqiZKaM8bb84RNCu0a0iBpGft2/5kRSl9fEFFgPw==; 25:ixx5xTYdORdeXQHRA6jEOU3zewetG3fTJUT5R6JnPnVb4L8bDV9opTl9nABaTtwpNvCd2iD5n0QnUVLtCUlFF3uIQSD6F9LNbxO7u3cR+MnJqVmv9vWZrmP2yI6T5FRdk7ibjxQs+NkrFJrmdE4uq/SBBnD+1BT64kaB4lNs15PV6UmfOQBovc92TEGZiJnYMOwNEDNSDVk5JcYRqtXBR2ORPknDqpTdQNeX5TApnBf83wLBTg2e1zcQgg0uCVeDsiJSjLqt4QX4GlT4Pb/qnA== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR0701MB1974; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB1974; 20:RyEoY7zj0f22hzSJDrfmkI+6bR1oL6h+F6a778KhjiklWuU0rjASIIuxsWafuSIVM64xLZhHTZvRq281QTTYhbpVlJpPjtk3AHmv1YBm7ZNGDxrvegX4OhAYPwEB87wDrGY9YE+Bt9/Zl/LzB2V4YGFSEdMlVM9TCiE3P/Tuc6TWHIRFPZeaaHJ1QLJ87/IIC1QBEOhK/Bt8fNlb2phnOtbPMZk1H5m1mBKjMPtqUDo7X3GUE84FLTlwqh4uY8ob6Vk1zMNAKOio+CIeihEMsc2viziNY0V7S4WGIS2Jaa3k6kRDAq3xkq45wVVniWO1B/uxFM6Ayp8GPiApHKhk2I4/o5nxQbzhYCxa+F9FBvlcXmZZQZqMaLJVddBbF3iTpVxby+BHnKUdlxT5eNYpb25MTPqHcmp4RF2eMi4Xl8w4aEWDMeX8Icp3v4war8Noy/W0ScX3BH51an6xZCcPdtlykWPXa3yG6EJ2RaNyXozwyHmUqQ2mDTRHwgpSrxSS1SFqFQvjpv1tCwLnpB83XnuLCNR8DipOOXgbJ1LjveZsTg0+MEFVHJ1P6pPHydfPYFqDwr9ZDVibB5f0MOIGZEqFWGweEkaks9YTRRl3xl4= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236414709691187); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(5005006)(520078)(10201501046)(3002001); SRVR:BY2PR0701MB1974; BCL:0; PCL:0; RULEID:; SRVR:BY2PR0701MB1974; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB1974; 4:74eA9De1/y+3Fx7LVzmUHurNAeNOiB0pfhqeHxTexZjmd1UrpYaNNtOixe/AHYg6cHLXzWTtXoRukGHYiCUO8XAxIITwpn4tKsPl5AzdZ6LneTJMGxyrFklIHt+k1FuYQuRgxXamfeeWqzsfPvv2Db56u6DinZ/R6wScKo/PWE12BZJlbD09iYh84ACzBicXjFho9pgL2x8ybrR63Bh7463u7iZM4lrBSsNPIJexhziWoV5Bh4HiJxM7r7t673sd+9z4GpealJvma1TMb6DiLP+krXOVlvMS/jXFgA2SCEZsNn085oR3mSQC//Fr8MBz1rm5tRfEhsvvYnwdDZbQn1nJqYa07o5vpgwzrzbwke414aYeLxyn1ev9wfOV4dm7 X-Forefront-PRVS: 0749DC2CE6 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(6069001)(189002)(199003)(81156007)(5001960100002)(50226001)(50986999)(5004730100002)(2950100001)(110136002)(77096005)(107886002)(66066001)(47776003)(189998001)(5007970100001)(42186005)(19580395003)(86362001)(76506005)(87976001)(69596002)(97736004)(50466002)(101416001)(53416004)(48376002)(106356001)(105586002)(19580405001)(36756003)(5008740100001)(76176999)(40100003)(92566002)(4001430100002)(5009440100003)(93886004)(33646002)(122386002)(5003940100001)(229853001)(2351001)(7099028); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR0701MB1974; H:localhost.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; BY2PR0701MB1974; 23:STq5G+nCTSrFNUL/sq1x9q4Zm8fviTcv51H+Pld?= =?us-ascii?Q?MzMow8d4+dblDo6ZKlPeDITVUrAs7Z0wjeET8EW01io5ceznesh0a9Bbd0mb?= =?us-ascii?Q?LgtLc9AF+GylwiUCbXLMc9CjSgA67Xtq1cTn8RViOgKNH25h5qdZpHGRjQkv?= =?us-ascii?Q?my1Ledp1+mfyoBRRUJZ4KpJIp/ztBG2mvdB2zpp7OtlCrdabm0rmjMdL8bOZ?= =?us-ascii?Q?ijBX+mYyJflvX9LHwvzKgIbgYn9ZGZGQQoRJaNYk0UZMnb4SpH7smQqPx1sY?= =?us-ascii?Q?1fdnQz/9CaxbqdJbnii4F0rZlqV8mX1jONc4GcVKKjQGFUCrgyEeFTcpCAlu?= =?us-ascii?Q?PhvDWLqP39yUSops7T/55P6eWtOk2FPh/SgIvjm3aJNKtFXBjRde98U9Dle+?= =?us-ascii?Q?Pjd0TiUtkb5OUiQjOSw6klZGaM1zt7GtSaooLkbM/tSuyNfJw/TYZcph2x8H?= =?us-ascii?Q?G1S8gXr+Zc5WMA0pq5+kPvLk/J3eh2QSRBFdxbrHPlJIrVGAeM7QhOmsrLAS?= =?us-ascii?Q?ovreekUYR5n/C9RzN1Tcr1gPCN3PeDMDxLcPT3zrMVS31muPvVQ6AyWJqD1O?= =?us-ascii?Q?Ej7bqxhfB4A7I7bn4K1UUTQF+mEz/QLbSMpnDRal//1HXuV8P+qiq8fVADsy?= =?us-ascii?Q?JmDEt7J/GK6yxhYG8UfxUtl+Vzxt2tsjH1QZwUFL/1/vUkWXyZ5ReyJcFssc?= =?us-ascii?Q?GbyO+eH5yrb/5lahGmN4w/h6zinmUmd6bAgHY0HrcLY9MEabRgi1qOPHhail?= =?us-ascii?Q?Brh6kPeGfFAr2reUqm7xOENmiNhJEinODV57dou8lNGIO1Cu3Cu/5uoZzm1r?= =?us-ascii?Q?aife5i3TsEkGVHccu9cs94WndK7w0Dbtvo7FQilQm1+5/Cc2sVfjsrIg1HeY?= =?us-ascii?Q?f/eC2J9jY4eek3nnjD4me+Gc5tsWci8mjcM3tpJjSS8fKzgPRTHlpRvIo3qm?= =?us-ascii?Q?27PBO6zrU334HG4yewazbvaLqQ3sLf96pe6HcGcJiina8SA5XtpYkRvHBGq+?= =?us-ascii?Q?QOPZeUs9xQObAxrEPrTfYVHKuQSy+mtX14XzNkqaZykjrVtXw98qk6/nSHGq?= =?us-ascii?Q?FE/A1feCDmOLcjJ0pANuxQS0FtnOS3vPj5jZY+BpcC4+louoWsXM3UL2h4bR?= =?us-ascii?Q?tMqhNw9d5dPXciBfgPw06DwX3r2Pws4MO1jgmgRcy0cLcmfcouvQ4gmCCRb2?= =?us-ascii?Q?CNzT1+QGzS5KHMp6VbZ8qgOPE7v9OYL4/Jqpi?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB1974; 5:t8Mb3RBSVChg4Uag0uHIx2Uv4zTA/+uKL0+Acy9WZE4W0POv+SU6XwMiLjaN2upmuxO3OgpFSEKzsfpMsNebZRxUM8qXjMlhZ3ayridOQT22mvMnc+pKLlA8W1IPHYAE3hN8+agoHo6FuROFr93qLw==; 24:D63J6IKLjV11cMQOVQ4vzPNe2dcpb09BF7inkb4ojG2tZAGor1PoXvHdsv9krhLRIRm4c5GRKdeN6HiwwogTEtiKf6VItOQZK5QAkqgsZXc=; 20:M7mwVzj6NU2uZvtbqbwMCFZ7CQ1RQhMCaU0WRgjLNfmBuUCcbCL/LooErT8upi/QlJ7iQVU/CbzVwd+Wji/fHA== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2015 13:10:20.7366 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR0701MB1974 Subject: [dpdk-dev] [PATCH 06/12] 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 | 58 +++++++---------------- 1 file changed, 17 insertions(+), 41 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; -} - -static inline __m128i -_mm_loadu_si128(__m128i *v) -{ - __m128i res; - - res = *v; - return res; -} - -static inline __m128i -_mm_load_si128(__m128i *v) -{ - __m128i res; - - res = *v; - return res; -} +typedef int32x4_t xmm_t; + +#define XMM_SIZE (sizeof(xmm_t)) +#define XMM_MASK (XMM_SIZE - 1) + +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 }