From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 58788 invoked by alias); 19 Oct 2016 09:36:47 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 58750 invoked by uid 89); 19 Oct 2016 09:36:46 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.4 required=5.0 tests=AWL,BAYES_00,KAM_LOTSOFHASH,SPF_PASS autolearn=no version=3.3.2 spammy=H*r:Wed, 14712, 147,12, expander X-HELO: eu-smtp-delivery-143.mimecast.com Received: from eu-smtp-delivery-143.mimecast.com (HELO eu-smtp-delivery-143.mimecast.com) (146.101.78.143) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 19 Oct 2016 09:36:36 +0000 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01lp0242.outbound.protection.outlook.com [213.199.154.242]) (Using TLS) by eu-smtp-1.mimecast.com with ESMTP id uk-mta-33-iDSTkazmM2CX6sFwBiVSuA-1; Wed, 19 Oct 2016 10:36:31 +0100 Received: from VI1PR0801MB2031.eurprd08.prod.outlook.com (10.173.74.140) by AM4PR0802MB2340.eurprd08.prod.outlook.com (10.172.218.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.669.12; Wed, 19 Oct 2016 09:36:30 +0000 Received: from VI1PR0801MB2031.eurprd08.prod.outlook.com ([10.173.74.140]) by VI1PR0801MB2031.eurprd08.prod.outlook.com ([10.173.74.140]) with mapi id 15.01.0659.025; Wed, 19 Oct 2016 09:36:29 +0000 From: Tamar Christina To: GCC Patches , Kyrylo Tkachov , Christophe Lyon CC: nd Subject: [PATCH v2][AArch32][NEON] Implementing vmaxnmQ_ST and vminnmQ_ST intrinsincs. Date: Wed, 19 Oct 2016 09:36:00 -0000 Message-ID: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-office365-filtering-correlation-id: 3064deba-6b71-4fee-dd10-08d3f803678c x-microsoft-exchange-diagnostics: 1;AM4PR0802MB2340;7:X7vSDaKxMDScEfvw89HdnZQz9BTBE8PuKTbIUMjum2VLo29hMrOV72lywU4AxcJkEg+1sHxKqU3NKTBrsns53TT7IhOM/quEF4eqikZ3KtoxprwhOFI7kYR9Y7E6YL1EmMWNvGa2k2qqcBV/neA8NKB5mBwaJdm6ovsF6esIICzGB+FwKpllObmm/Z+EvQBoTSQg6TB1slhIpIdM1WpRIfySihfo2kKTQ9rbrj1DTN+AIWyKnS1mDAWa30OvIFFjZA/ikq/drakJPKJ57E2koD9vdDnqa7mNAaEsiCGkUH7idUk6/xni6/R0F/45lwcwaesXvmpWADTpidtAKDDH6ORf9vT1Ljd3rLiLavDs0SQ= x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AM4PR0802MB2340; nodisclaimer: True x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(180628864354917)(22074186197030)(183786458502308); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(102415321)(6040176)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026);SRVR:AM4PR0802MB2340;BCL:0;PCL:0;RULEID:;SRVR:AM4PR0802MB2340; x-forefront-prvs: 0100732B76 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(6009001)(7916002)(53754006)(189002)(199003)(377424004)(86362001)(81166006)(305945005)(586003)(33656002)(68736007)(81156014)(8936002)(101416001)(15975445007)(106356001)(9686002)(102836003)(99936001)(4001150100001)(3846002)(7846002)(54356999)(6116002)(66066001)(105586002)(229853001)(74316002)(10400500002)(19580395003)(2900100001)(92566002)(77096005)(87936001)(3660700001)(7696004)(106116001)(19580405001)(50986999)(5001770100001)(97736004)(7736002)(189998001)(3280700002)(4326007)(5660300001)(76576001)(5002640100001)(8676002)(122556002)(2906002);DIR:OUT;SFP:1101;SCL:1;SRVR:AM4PR0802MB2340;H:VI1PR0801MB2031.eurprd08.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Oct 2016 09:36:29.2945 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0802MB2340 X-MC-Unique: iDSTkazmM2CX6sFwBiVSuA-1 Content-Type: multipart/mixed; boundary="_002_VI1PR0801MB2031338DB3CA0BF8746CB587FFD20VI1PR0801MB2031_" X-IsSubscribed: yes X-SW-Source: 2016-10/txt/msg01505.txt.bz2 --_002_VI1PR0801MB2031338DB3CA0BF8746CB587FFD20VI1PR0801MB2031_ Content-Type: text/plain; charset=WINDOWS-1252 Content-Transfer-Encoding: quoted-printable Content-length: 1464 Hi All, This patch implements the vmaxnmQ_ST and vminnmQ_ST intrinsics. The current builtin registration code is deficient since it can't access standard pattern names, to which vmaxnmQ_ST and vminnmQ_ST map directly. Thus, to enable the vectoriser to have access to these intrinsics, we implement them using builtin functions, which we=20 expand to the proper standard pattern using a define_expand. This patch also implements the __ARM_FEATURE_NUMERIC_MAXMIN macro,=20 which is defined when __ARM_ARCH >=3D 8, and which enables the=20 intrinsics. Regression tested on arm-none-eabi and no regressions. This patch is a rework of a previous patch: https://gcc.gnu.org/ml/gcc-patches/2015-12/msg01971.html OK for trunk? Thanks, Tamar --- gcc/ 2016-10-19 Bilyan Borisov Tamar Christina * config/arm/arm-c.c (arm_cpu_builtins): New macro definition. * config/arm/arm_neon.h (vmaxnm_f32): New intrinsinc. (vmaxnmq_f32): Likewise. (vminnm_f32): Likewise. (vminnmq_f32): Likewise. * config/arm/arm_neon_builtins.def (vmaxnm): New builtin. (vminnm): Likewise. * config/arm/neon.md (neon_, VCVTF): New expander. gcc/testsuite/ 2016-10-19 Bilyan Borisov * gcc.target/arm/simd/vmaxnm_f32_1.c: New. * gcc.target/arm/simd/vmaxnmq_f32_1.c: Likewise. * gcc.target/arm/simd/vminnm_f32_1.c: Likewise. * gcc.target/arm/simd/vminnmq_f32_1.c: Likewise. --_002_VI1PR0801MB2031338DB3CA0BF8746CB587FFD20VI1PR0801MB2031_ Content-Type: text/x-patch; name=gcc-arm-patch-intrinsics.patch Content-Description: gcc-arm-patch-intrinsics.patch Content-Disposition: attachment; filename="gcc-arm-patch-intrinsics.patch"; size=3712; creation-date="Wed, 19 Oct 2016 09:34:56 GMT"; modification-date="Wed, 19 Oct 2016 09:34:56 GMT" Content-Transfer-Encoding: base64 Content-length: 5035 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYXJtL2FybS1jLmMgYi9nY2MvY29u ZmlnL2FybS9hcm0tYy5jCmluZGV4IDcyODM3MDAxZDEwMTFlMzY2MjMzMjM2 YTZiYTNkMWU1Nzc1NTgzYjEuLmRjYjg4M2Q3NTA1MDZhMDIyNTdlNmUyZTQ5 ODgwZjJkMWI5ODg4ZmEgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvYXJtL2Fy bS1jLmMKKysrIGIvZ2NjL2NvbmZpZy9hcm0vYXJtLWMuYwpAQCAtODYsNiAr ODYsOSBAQCBhcm1fY3B1X2J1aWx0aW5zIChzdHJ1Y3QgY3BwX3JlYWRlciog cGZpbGUpCiAJCSAgICAgICgoVEFSR0VUX0FSTV9BUkNIID49IDUgJiYgIVRB UkdFVF9USFVNQikKIAkJICAgICAgIHx8IFRBUkdFVF9BUk1fQVJDSF9JU0Ff VEhVTUIgPj0yKSk7CiAKKyAgZGVmX29yX3VuZGVmX21hY3JvIChwZmlsZSwg Il9fQVJNX0ZFQVRVUkVfTlVNRVJJQ19NQVhNSU4iLAorCQkgICAgICBUQVJH RVRfQVJNX0FSQ0ggPj0gOCAmJiBUQVJHRVRfTkVPTiAmJiBUQVJHRVRfRlBV X0FSTVY4KTsKKwogICBkZWZfb3JfdW5kZWZfbWFjcm8gKHBmaWxlLCAiX19B Uk1fRkVBVFVSRV9TSU1EMzIiLCBUQVJHRVRfSU5UX1NJTUQpOwogCiAgIGJ1 aWx0aW5fZGVmaW5lX3dpdGhfaW50X3ZhbHVlICgiX19BUk1fU0laRU9GX01J TklNQUxfRU5VTSIsCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FybS9hcm1f bmVvbi5oIGIvZ2NjL2NvbmZpZy9hcm0vYXJtX25lb24uaAppbmRleCA1NGJi YzdkZDgzY2Y5NzliNmZhZDc3MjRiYTFkNGIzMjdiMzExZjVjLi4zODk4ZmY3 MzAyZGMzZjIxZTZiNTBhOGE3YjgzNTAzM2MxYWUyMDIxIDEwMDY0NAotLS0g YS9nY2MvY29uZmlnL2FybS9hcm1fbmVvbi5oCisrKyBiL2djYy9jb25maWcv YXJtL2FybV9uZW9uLmgKQEAgLTI5NTYsNiArMjk1NiwzNCBAQCB2bWF4cV9m MzIgKGZsb2F0MzJ4NF90IF9fYSwgZmxvYXQzMng0X3QgX19iKQogICByZXR1 cm4gKGZsb2F0MzJ4NF90KV9fYnVpbHRpbl9uZW9uX3ZtYXhmdjRzZiAoX19h LCBfX2IpOwogfQogCisjcHJhZ21hIEdDQyBwdXNoX29wdGlvbnMKKyNwcmFn bWEgR0NDIHRhcmdldCAoImZwdT1uZW9uLWZwLWFybXY4IikKK19fZXh0ZW5z aW9uX18gc3RhdGljIF9faW5saW5lIGZsb2F0MzJ4Ml90IF9fYXR0cmlidXRl X18gKChfX2Fsd2F5c19pbmxpbmVfXykpCit2bWF4bm1fZjMyIChmbG9hdDMy eDJfdCBhLCBmbG9hdDMyeDJfdCBiKQoreworICByZXR1cm4gKGZsb2F0MzJ4 Ml90KV9fYnVpbHRpbl9uZW9uX3ZtYXhubXYyc2YgKGEsIGIpOworfQorCitf X2V4dGVuc2lvbl9fIHN0YXRpYyBfX2lubGluZSBmbG9hdDMyeDRfdCBfX2F0 dHJpYnV0ZV9fICgoX19hbHdheXNfaW5saW5lX18pKQordm1heG5tcV9mMzIg KGZsb2F0MzJ4NF90IGEsIGZsb2F0MzJ4NF90IGIpCit7CisgIHJldHVybiAo ZmxvYXQzMng0X3QpX19idWlsdGluX25lb25fdm1heG5tdjRzZiAoYSwgYik7 Cit9CisKK19fZXh0ZW5zaW9uX18gc3RhdGljIF9faW5saW5lIGZsb2F0MzJ4 Ml90IF9fYXR0cmlidXRlX18gKChfX2Fsd2F5c19pbmxpbmVfXykpCit2bWlu bm1fZjMyIChmbG9hdDMyeDJfdCBhLCBmbG9hdDMyeDJfdCBiKQoreworICBy ZXR1cm4gKGZsb2F0MzJ4Ml90KV9fYnVpbHRpbl9uZW9uX3ZtaW5ubXYyc2Yg KGEsIGIpOworfQorCitfX2V4dGVuc2lvbl9fIHN0YXRpYyBfX2lubGluZSBm bG9hdDMyeDRfdCBfX2F0dHJpYnV0ZV9fICgoX19hbHdheXNfaW5saW5lX18p KQordm1pbm5tcV9mMzIgKGZsb2F0MzJ4NF90IGEsIGZsb2F0MzJ4NF90IGIp Cit7CisgIHJldHVybiAoZmxvYXQzMng0X3QpX19idWlsdGluX25lb25fdm1p bm5tdjRzZiAoYSwgYik7Cit9CisjcHJhZ21hIEdDQyBwb3Bfb3B0aW9ucwor CisKIF9fZXh0ZW5zaW9uX18gc3RhdGljIF9faW5saW5lIHVpbnQ4eDE2X3Qg X19hdHRyaWJ1dGVfXyAoKF9fYWx3YXlzX2lubGluZV9fKSkKIHZtYXhxX3U4 ICh1aW50OHgxNl90IF9fYSwgdWludDh4MTZfdCBfX2IpCiB7CmRpZmYgLS1n aXQgYS9nY2MvY29uZmlnL2FybS9hcm1fbmVvbl9idWlsdGlucy5kZWYgYi9n Y2MvY29uZmlnL2FybS9hcm1fbmVvbl9idWlsdGlucy5kZWYKaW5kZXggYjI5 YWE5MWE2NGVjYjg1ZGZiNWViOTY2MWVkNjdkNGZhMzI2MDYyZi4uNThiMTAy MDdjMWY1YzAzODBjYjAxZmRiNGE5MmEzZjBiNGRlYzU5MSAxMDA2NDQKLS0t IGEvZ2NjL2NvbmZpZy9hcm0vYXJtX25lb25fYnVpbHRpbnMuZGVmCisrKyBi L2djYy9jb25maWcvYXJtL2FybV9uZW9uX2J1aWx0aW5zLmRlZgpAQCAtMTQ3 LDEyICsxNDcsMTIgQEAgVkFSNiAoQklOT1AsIHZtYXhzLCB2OHFpLCB2NGhp LCB2MnNpLCB2MTZxaSwgdjhoaSwgdjRzaSkKIFZBUjYgKEJJTk9QLCB2bWF4 dSwgdjhxaSwgdjRoaSwgdjJzaSwgdjE2cWksIHY4aGksIHY0c2kpCiBWQVIy IChCSU5PUCwgdm1heGYsIHYyc2YsIHY0c2YpCiBWQVIyIChCSU5PUCwgdm1h eGYsIHY4aGYsIHY0aGYpCi1WQVIyIChCSU5PUCwgdm1heG5tLCB2NGhmLCB2 OGhmKQorVkFSNCAoQklOT1AsIHZtYXhubSwgdjJzZiwgdjRzZiwgdjRoZiwg djhoZikKIFZBUjYgKEJJTk9QLCB2bWlucywgdjhxaSwgdjRoaSwgdjJzaSwg djE2cWksIHY4aGksIHY0c2kpCiBWQVI2IChCSU5PUCwgdm1pbnUsIHY4cWks IHY0aGksIHYyc2ksIHYxNnFpLCB2OGhpLCB2NHNpKQogVkFSMiAoQklOT1As IHZtaW5mLCB2MnNmLCB2NHNmKQogVkFSMiAoQklOT1AsIHZtaW5mLCB2NGhm LCB2OGhmKQotVkFSMiAoQklOT1AsIHZtaW5ubSwgdjhoZiwgdjRoZikKK1ZB UjQgKEJJTk9QLCB2bWlubm0sIHYyc2YsIHY0c2YsIHY4aGYsIHY0aGYpCiAK IFZBUjMgKEJJTk9QLCB2cG1heHMsIHY4cWksIHY0aGksIHYyc2kpCiBWQVIz IChCSU5PUCwgdnBtYXh1LCB2OHFpLCB2NGhpLCB2MnNpKQpkaWZmIC0tZ2l0 IGEvZ2NjL2NvbmZpZy9hcm0vbmVvbi5tZCBiL2djYy9jb25maWcvYXJtL25l b24ubWQKaW5kZXggMDUzMjMzMzRmZmQ4MWFlZmYzM2VlNDA3Yjk2Yzc4OGQx MjNiM2ZlMy4uM2FlNGY2YTNiZjI2MDMyZjRjMzRkODNmZjc5ZTI3YjMwZDQw MDBkZSAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9hcm0vbmVvbi5tZAorKysg Yi9nY2MvY29uZmlnL2FybS9uZW9uLm1kCkBAIC0yODQxLDYgKzI4NDEsMTgg QEAKICBbKHNldF9hdHRyICJ0eXBlIiAibmVvbl9mcF9taW5tYXhfczxxPiIp XQogKQogCis7OyBFeHBhbmRlciBmb3IgdjxtYXhtaW4+bm0gaW50cmluc2lj cy4KKyhkZWZpbmVfZXhwYW5kICJuZW9uXzxmbWF4bWluX29wPjxtb2RlPiIK KyAgWyh1bnNwZWM6VkNWVEYgWyhtYXRjaF9vcGVyYW5kOlZDVlRGIDAgInNf cmVnaXN0ZXJfb3BlcmFuZCIgIiIpCisgICAobWF0Y2hfb3BlcmFuZDpWQ1ZU RiAxICJzX3JlZ2lzdGVyX29wZXJhbmQiICIiKQorICAgKG1hdGNoX29wZXJh bmQ6VkNWVEYgMiAic19yZWdpc3Rlcl9vcGVyYW5kIiAiIildCisJCSAgVk1B WE1JTkZOTSldCisgICJUQVJHRVRfTkVPTiAmJiBUQVJHRVRfRlBVX0FSTVY4 IgoreworICBlbWl0X2luc24gKGdlbl88Zm1heG1pbj48bW9kZT4zIChvcGVy YW5kc1swXSwgb3BlcmFuZHNbMV0sIG9wZXJhbmRzWzJdKSk7CisgIERPTkU7 Cit9KQorCiA7OyBWZWN0b3IgZm9ybXMgZm9yIHRoZSBJRUVFLTc1NCBmbWF4 KCkvZm1pbigpIGZ1bmN0aW9ucwogKGRlZmluZV9pbnNuICI8Zm1heG1pbj48 bW9kZT4zIgogICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWQ1ZURiAwICJzX3Jl Z2lzdGVyX29wZXJhbmQiICI9dyIpCg== --_002_VI1PR0801MB2031338DB3CA0BF8746CB587FFD20VI1PR0801MB2031_--