From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1bon0075.outbound.protection.outlook.com [157.56.111.75]) by dpdk.org (Postfix) with ESMTP id 45EFB8E56 for ; Mon, 2 Nov 2015 15:20:04 +0100 (CET) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.Jacob@caviumnetworks.com; Received: from localhost.caveonetworks.com (122.167.52.198) by BLUPR0701MB1971.namprd07.prod.outlook.com (10.163.121.22) with Microsoft SMTP Server (TLS) id 15.1.312.18; Mon, 2 Nov 2015 14:20:00 +0000 From: Jerin Jacob To: Date: Mon, 2 Nov 2015 19:48:39 +0530 Message-ID: <1446473921-12706-2-git-send-email-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.1.0 In-Reply-To: <1446473921-12706-1-git-send-email-jerin.jacob@caviumnetworks.com> References: <1446473921-12706-1-git-send-email-jerin.jacob@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [122.167.52.198] X-ClientProxiedBy: MA1PR01CA0025.INDPRD01.PROD.OUTLOOK.COM (25.164.117.32) To BLUPR0701MB1971.namprd07.prod.outlook.com (25.163.121.22) X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1971; 2:mukTHvih/2DhB6fBA51scPCfr8hr4XujDd59K+6htf2u1mENl5F9jVx7moedPlAE3ZM8wT917C4Tma5yhZVusjbGZcy91OHgB20fx9Pz1XVnCNSxMAtwXGsJtvikZpeTuo564tCU0eeiHmHq0GBwC646Gs4hfT5il4izn09qPTA=; 3:KMMqkjjgfAde3OooJqYAOxig1qwpB9xoGExOtKsJ1YXGcZACn3Nu7RkQaXU3kq+MBO23Jbkk+VNAELugvXGZu4dU3ffWyhQXWtoylfuPG6+fzmZE958JCOIXyynib2N72A+0Ma0LccIOIiQtSbEHVA==; 25:w1SMwAGB+A8gmA76ch41+mVqSg3ePhY6t9BDYx+RttBL46gxq2S4W9NjwZMqPc2o4BuvZ3/d8mgsj1TqMqFNYPdo2DgNkuFCjPrtKcw91qzKX7fQ+njOuq/xZCqNcyobxxt+juwthd+BulH+BmtcROO09jkKOisPyKtrfEdMnIC4ShzxBBkdNRsgAVYYIgrAe8KJfLDVW4zJFGfD2YGuqfnLDpcLWtl3F2+f0SMj6unSVA+WkoaSSnJbrg6yphaiE5oVY9Vy0iNje9Q1WvbIhA== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0701MB1971; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1971; 20:tcga9vyRhbU04zSg+V50Zcz7g1QlfnQJZ9bPRK1VOxqOCn3q/OxVgYMM606nAeCK/pAQCDOAOD3zK0mrbYcorlT6V8u0QrNGiYDsLREOjDlFarfGSYLgl6zjKxkJ8zuwtZbr29K5/fNI73/VucZxpJPymtsGm3Zi51RNJgrFUPQXtF8aR7o+B5RhvY+saszELfdP5one4XJedWCsQ2IFVgw5ZFulLXAJVp/ej1duuQdTegKMxSJpruMKJZ0crdDdI4iJ7DPvI7V2y7A9vvSqh6a/hJSAlY9L9FXNAUR//eMzqTO9OTlRjz519cHMOtw7PIOAYggfY2hA6N/PJjcrwL7hf51srg2eEhBKC3Cd7u0W89pFxtykSrqtTPys65RElJCabkTQLCmSXG6s2SyHBcilOrtMVbH6KGL0b/M4z+nwZSBs3Hm+R4WOkKLQpfSTSlsmTyZRo38UBFV6PXze48R2XVPvcdczeBrOtRtKWZG2ArEdmidmo3tOakVs5EW/g4s6SgtkAq7Wm2oejGsLXUNWha9shLPu6JbsWabK5vAlg851qG+ZW3bJ74jr0gqbcStE3N8LVaMd1m3iYVJrdicvSkw5NwRt+Nnj0BQ7bL0= 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)(10201501046)(3002001); SRVR:BLUPR0701MB1971; BCL:0; PCL:0; RULEID:; SRVR:BLUPR0701MB1971; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1971; 4:hODXsw6/nfdLF/LKNop9x+E7yLD5723CEXWP1Q+VcguAX6gD2Hy+96jkD+B0i+YtxeNSmPwrg9lhKvCCuYesm5agwVxB8Cc2GzkUD1hqwVF7T9vbxuSpBVzLLoCCsT9tWK8Fd1tRyH+YbYebg60XvsEdyzu26PBrEFf2xox6kRybxuAsYVJ2ayc3HxMJj1yyS4fvX1SBevnyyMkQW5vG1Pj+gI0+0Qf+3GXHjOqBZmYDvh4QCvBAhyiF98mLO93Ib29F4+tevzKdjpt6pyZhIDDcRa+DvXXhlBhXx3PDtMWUm9v6QNc598fzEbloXTAQZnLqNzGcIY0kjgQTdN8tybFyp9ElQgNSaHOidhv/SY70V0MBr/hBfLGmt5m9A90z X-Forefront-PRVS: 0748FF9A04 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6069001)(6009001)(199003)(189002)(101416001)(105586002)(66066001)(76176999)(110136002)(42186005)(5001960100002)(97736004)(36756003)(229853001)(2351001)(87976001)(50466002)(81156007)(50986999)(4001430100002)(76506005)(53416004)(69596002)(48376002)(122386002)(77096005)(106356001)(19580405001)(5001920100001)(107886002)(33646002)(19580395003)(189998001)(5007970100001)(2950100001)(50226001)(40100003)(5008740100001)(47776003)(86362001)(5003940100001)(92566002)(5004730100002)(7099028); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB1971; H:localhost.caveonetworks.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX: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; BLUPR0701MB1971; 23:h3WPk3IY2YoGcn728xaDSDwgVwKGusZVErvy4g1?= =?us-ascii?Q?rtR9PShfcGNAwKzuA8+jrqjgIdYorHcMFzNhqKfyxO/CK5LC92E1QyR+Yc3Y?= =?us-ascii?Q?9cwNAwfrMm2aSI3fqFS7T4bsDhjvdaC5gtjSELxyHNbcs4Wi6zYIQgJAS+x1?= =?us-ascii?Q?2rVA9MZ+CgD00G2ro2/inHn8ErmItJJFWh6C4PptoyUnyjp03AVDuhDe3Jic?= =?us-ascii?Q?6+gtdDd4crZknW9paa73z/lVDsF0qT/ln+pZoWuwahFD4mXG1g1/EKJWGutU?= =?us-ascii?Q?7Hu83sTdhzmITO5Rq+axSF/5AtkOERZVooCBzFVMmGWEDJ5mhixtA0kDa7Ta?= =?us-ascii?Q?cuaYDRIKVBZx+jptKWfhGAHvdwwg3000cPplf1c5Oz04JrjjTZ5X1TQvFPc+?= =?us-ascii?Q?LnR/4JBAygax5QRg1PbRLNPuQ0j+2gEaD18JJYFgRnbyXy5ejafM9qprJ/D0?= =?us-ascii?Q?Zjs7Y7cPKeKoPC4In2iOrxzGBqVHQ803pcCLnn3FYg2ix0lSwpFbD4Pbh7ba?= =?us-ascii?Q?0l6mcFLZR6Bsuc5cC54d9Jye+sQ0gIvuxttZ2KmN4Lv2luBmwA8Yhb7/Ekx0?= =?us-ascii?Q?UfX18oadlZu7u2G6qrnT1ewp862foo89FDmad2EYgkCfnIbNXEJ97ard41lN?= =?us-ascii?Q?BhLd7SjL7jSdGn0RZCDpW/Z3nvVAq6CH1J6CBr5khp89ePgGGgI5NdutPrdr?= =?us-ascii?Q?7FcLLDI07T1ETWHa6vTBnhcJfD6QiV8WHfkVIhREqY4wLf+kfwPlKMjlZr+B?= =?us-ascii?Q?YD5zB0QvN2a6FV0Gq4sozMHj0Uk5KKgvreA2Wuk9J75mUku8roij35zRaPAb?= =?us-ascii?Q?8f0CePD0hFsJZ3vqxmWB+LxkoPUIsDEKImHYJwJODZqMNB3OxIo0N73l2krx?= =?us-ascii?Q?eGfNcHHNwj2VQYNATpWQm0PpWrN3zO1zaiXKO2AH8BycE9iZU/A8Wr/qVLal?= =?us-ascii?Q?LUvUquyr+lEAZllN/va/+KVUVO51NR3QhG/ebVc18yYDeguIJKySLXgP0mTl?= =?us-ascii?Q?c+K1I0TORNTnEpmXxtYVW+GwUe/WivQp2Xh73DVG+wh7RP9YsIVa30Ikati+?= =?us-ascii?Q?7auY9Af6Gu7D3SdVefWGh6jkDgmQl0n4lBdFz3d2G4ZSJFNBIpg3Mz7vZaGo?= =?us-ascii?Q?ZYR1IlGXnPGT8HHXGyXWXxDrIm8Jlnv8V6xURNnvS9zG0HB78NOKKgtwLjiz?= =?us-ascii?Q?J3kjwfH9jQHWOuR8=3D?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1971; 5:SXQV9WZ2ImNmJ2G0FaHa61MQTHF0Ck3W2PG6kithL/fb5tEwa+zhYMqAU4T/kDHl22AsZBlUBra5bC/ODk+bZ9DZ+WalmikOUoZv+s/voGD2t5cG+C1LC5LCC1+59Q6z6NquqNWDKGkkD7K408bUMA==; 24:58rdxlgCxnHTioD+kH4i++LJlioNppKeAm/5sXmb0JGrEsLzNPdTvfZwFzwm2H7RAL9RUjzfIr+ydgSjvMFWYK1Y5Bwmu9v5nwMFsH2htSc=; 20:5qAhgYLdqTe8/VmszdqYbXaxWNKz7r3KbfZELQQks6cnTGXht6GRM4CEc0lSGlPPVTeV4zobqIwfSw04fAqt5g== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2015 14:20:00.7599 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1971 Subject: [dpdk-dev] [PATCH 1/3] 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: , X-List-Received-Date: Mon, 02 Nov 2015 14:20:04 -0000 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 } -- 2.1.0