From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 69342 invoked by alias); 16 Jun 2017 07:48:42 -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 57107 invoked by uid 89); 16 Jun 2017 07:48:19 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.0 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_ASCII_DIVIDERS,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: EUR01-VE1-obe.outbound.protection.outlook.com Received: from mail-ve1eur01on0061.outbound.protection.outlook.com (HELO EUR01-VE1-obe.outbound.protection.outlook.com) (104.47.1.61) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 16 Jun 2017 07:48:03 +0000 Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; Received: from localhost (217.140.96.140) by HE1PR0802MB2458.eurprd08.prod.outlook.com (2603:10a6:3:df::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1157.12; Fri, 16 Jun 2017 07:48:04 +0000 Date: Fri, 16 Jun 2017 07:48:00 -0000 From: Prakhar Bahuguna To: "Richard Earnshaw (lists)" Cc: gcc-patches@gcc.gnu.org, nd@arm.com, Ramana.Radhakrishnan@arm.com, Kyrylo.Tkachov@foss.arm.com Subject: Re: [PATCH, ARM] Implement __ARM_FEATURE_COPROC coprocessor intrinsic feature macro Message-ID: <20170616074800.w5gioskxpxkiy6vr@e107464-lin.cambridge.arm.com> References: <20170614093535.qcu6x2e5dhphbzyk@e107464-lin.cambridge.arm.com> <7d924fde-aaa9-3489-fc4a-7bedc74cd28c@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <7d924fde-aaa9-3489-fc4a-7bedc74cd28c@arm.com> X-ClientProxiedBy: VI1PR0401CA0008.eurprd04.prod.outlook.com (2603:10a6:800:4a::18) To HE1PR0802MB2458.eurprd08.prod.outlook.com (2603:10a6:3:df::15) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0802MB2458: X-MS-Office365-Filtering-Correlation-Id: c57329c7-8bba-4778-7d58-08d4b48c056e X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081)(201703131423075)(201703031133081);SRVR:HE1PR0802MB2458; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0802MB2458;3:/dDkdWqiJP+zOqRCimN09VM7yPv+bsYEzMc0vUZtoYVdj5Sky1zQi9BuP1CT+MMf2IcnEMS7WXhmvvOhsH8sdkiNFY1xqENoxW5ttf/tJ1n0Sfh2T9EnFolFIgTwno1jL+PkWT5y3L2lrZrNw9zdu4ufvzvavot+Hbrnt4ooVA5swg3vn4NtNL8DnjS88GImLIwBOqIJXQbcswMznyeweT+nXp+8McYceW06RbSrD0DnQd9i5dDTFWiXBA9YJsXrGXmHFMfvN3yRFnDvMyUyWuMVYx6IScfDIPfBlRhJHd6xPNXIEu91uHbFOtt7CuN4MxaxgzjhmCOCH3No5hCXJw04D+9Q0IIJLp1WdM5lda0=;25:PiQHGq5jFp4cwyQsTyxXdt66ZB9VgWZvYWh6MWQAxsNcYeR3NJ/L0MU+uHuSAyUVWfwBMFrCJP5nxG/9+OxIJ3ItTnkvAQtIHZqoadou4Gz2OkvtY2K8lFqFbbiZXsuuUQBPX0K/j6Y7QqFwYk1D6RaUauhhjMYjEDiWEHnP4Tt7SO70GIjtzj8/1iHe0M0ahkEJLja07WZOkiklzBC6cXGc2xJEeXEcLRU+np8/jRggpe0MlQfjK7RilZwd0mfbg3bTLT954F8H4aECt2Bv7Q6/o9sTTTpS9zfqg9/7V+cR+Md2CMQ50CT1BC+Rv96mqtQFq/7Ws6ElopKf01GChccqIulSGcCHeNioDDvxKV4A5SnbVxZFIq4JxULq7AvrWrfiZsDPf08HMxRxHpP/FgXlfb0OBkMuSBGxNFyzIL1f/a/t2rz8t4zSUvkqKJ6x0mBDJLf+3xr8BA2BNRr78e6HH957BsUCIkZ0jo4bKrk= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0802MB2458;31:kHmLLWU24uGIQijMTKK74VAWLF8xVGv13qk2eK7N9lbPcwO7bK/ot090Ie/rXPf40M3dq6733hXl7ftM9VTzhjybsX80U1JebQj2SjyiYduy8SHa+/pzojiZPuKqFMzbVvNq7NTBKPudCuX/XKihGK8VCEy22R27DEDGj4FLPS4Bg1CFO6SusK2RL16rjC4BF92lugWoJCXwbAe92Cy9i4DdKU0k1yU9ZribYcOB73A=;20:YZ5BHeLUuuOoL1br6x1hGLlbwCs2A6G3fIvMBFJ+5AUJXOQ4UaQvFE/Jrv6PXsNXTukPR4xycNg8ty6M9x4CgG3GU9oiVbRcBn2TzLjYeXNJbLIvrocSuASHhSHp0ZCh6JrmHdS5hCfJw3ASkZj/uUw/7VLI+ww4u+buDM7cyi0= NoDisclaimer: True X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(180628864354917); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(3002001)(100000703101)(100105400095)(10201501046)(6055026)(6041248)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123558100)(20161123560025)(20161123562025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:HE1PR0802MB2458;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:HE1PR0802MB2458; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtIRTFQUjA4MDJNQjI0NTg7NDpDTDRZZmZOdEdiMjd4UVJuN1laWVVBLzRy?= =?utf-8?B?bFlKZitZOWRhQS8xYXBhdFk4QVBUYVpTZDJOUy9Tc1FkbWZ2UTVXeHlsdEMz?= =?utf-8?B?dGVSTGcwQ2lhR2k3T1l6dU8vYkhpb3hjQmRzenhkUm1aSGRxalFlYTdiT2E3?= =?utf-8?B?eDk3dlJRcy9TOTNINHRnNzlYYWdJQjdlQldML2RHRHlXRm9lTURjNnBmQWlP?= =?utf-8?B?N1ZETk9rYnhheEN3T1VPckpvMUY4eWhib3ZaVzUwUFdYclRJV3dIU20rYkZq?= =?utf-8?B?MVA1KzJxK0huaGVTMVlwbGU3NVB0QXhreHRiSnFoVVBhQm9TU0RjdFB3WXRH?= =?utf-8?B?WGhPS3JJRmlnOFJJNjlBd2ptWGdHdVpvVERKREdEekwzR2k2cTAzSjUycE9x?= =?utf-8?B?Ni9kK2puOHI3c1l6Z3pwNHh4dG5pSTRQVnBIeUJkaEI3cEplWnIzVmJldlk4?= =?utf-8?B?YWZHdFNSaXBMS0dpTjBIdnRzQ3VjL1ZiWURHbnFLRVd0SEM3Wnd0T250dHVN?= =?utf-8?B?bG5LQ1VGKzk3cG0vekVIcmU4cnVKeEJzU1hnd2RKYkNaODBBdSs0QWFXM3c2?= =?utf-8?B?MGlIeHRMaVlXcStwWlBvQVcrUlBaQmNKMHI2cm0zZHZkRE04K3ZyVXlzWHcr?= =?utf-8?B?b1IrYlp5ZnJQZjZNTFliazhDN2p2SXF2Vm1YQi9jYzhwMWYwZkV2YmN5b1Bo?= =?utf-8?B?T1pNcm83UDJlbzQ3a052a1JONHRta2V3WnRsS0dGZk55djVvbEFpWXJrY1VJ?= =?utf-8?B?OEpCby9EdWE0K1NZcmlmRDYwTGRQNWF1ZHh0ais3eVJyb2I3UWszWWhSb3RY?= =?utf-8?B?aVR4RWxZaGg5MXFlNk1pTDJuQVZLdjVjR00wZGpNUEQ1Q1RYWG5nQm4wbmR3?= =?utf-8?B?Z2tUaiswSk1IaklnbDgvcHYwMUUvcm96cFdOek04N25sUmhLdGlHaWI4SjNI?= =?utf-8?B?K05tb09qTVpWRkU4SVduazhJUDZGU0pVNkhHRzcyRGVNbDRJdzRTWC9RMHNZ?= =?utf-8?B?T1BEZFZyeUMrWHQ1c3l6ZE1PUmVmcElWVXJkeW9GM0VqL3pEZFo3WGg2MTQ4?= =?utf-8?B?bStNR211SXJoMjB2aE5DUHpWNjdnVkMzekNORFhuTFl6OXRFM0ZGeDlLRzdo?= =?utf-8?B?MDJIcTRVeVV5SkdXc21oclcxUnZLRzZMMjhiNmZCb1pzSlY3MVlzSnZGTEY2?= =?utf-8?B?ZEVEamtjUHZRSlk2c0phVTV4Mk9LZWtCV0hRUHBGUkxrQ0x3RmZwRm90Yi80?= =?utf-8?B?Mjk1VWpFRGV5Sk5mTmRDRlZxN3lDZ2dqcVNpVW5aa3BMU3hZU3JVVHc0emJv?= =?utf-8?B?RWpGYXJDU3ZVOWR3TjNiWTNPTytaT2RFL054KzY0UzhBd0VMemk2QndpcjVV?= =?utf-8?B?ZEs0all1NmJzVXNFVG5mRTFsdExpMnpzVHhEa1hlU0k0UVl6K0UvZWZ3Q2My?= =?utf-8?B?QzNGN1hTZzdwSnNwNGxENmMyMXcyWUxvTlhsMW85STQvcXhEYUFaRmYxYVl5?= =?utf-8?B?V1lyZlh6ZHphb3owcDZZQ1hUTXg0ZWgrQkFHdEwxUnBwWjZYZWYxcXlTaVMv?= =?utf-8?B?MVdCTnpkbzJ5MXlZU2hHL3VwME9vUWdhM3pJRUpXNTdTZ1JDZmh6Sm92OWhS?= =?utf-8?Q?t9N9rqPEpSO4CG0ZIJAG+?= X-Forefront-PRVS: 0340850FCD X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6069001)(39840400002)(39400400002)(39860400002)(39410400002)(39850400002)(24454002)(377424004)(23676002)(76176999)(54356999)(76506005)(42186005)(2906002)(86362001)(229853002)(50986999)(53936002)(6306002)(6486002)(6636002)(81166006)(8676002)(110136004)(478600001)(6496005)(2950100002)(6116002)(3846002)(33646002)(189998001)(6666003)(4326008)(6246003)(72206003)(7736002)(5660300001)(25786009)(53546009)(50466002)(305945005)(66066001)(6862004)(47776003)(1076002)(38730400002);DIR:OUT;SFP:1101;SCL:1;SRVR:HE1PR0802MB2458;H:localhost;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtIRTFQUjA4MDJNQjI0NTg7MjM6MThiYzFjVTUzY3JYQUYxL2wzUmVqY21m?= =?utf-8?B?a3JnZkMwaCsvbE1kUVFYTDAzQlJ5c3FPZ1F6a2VoNGJkeFFMaGk4ZG0wWlha?= =?utf-8?B?eXZIeDRGZkZmeXFlc1Qwam5zVXBscG44cUNnSlp0K0JjQ01ZUHBiODBrY3I3?= =?utf-8?B?cmF6UHI0bjRMdm4wZWllVG85QmNsQVJ6ZGVXOXJJTUNtYWZrN1lwZ0l2UERJ?= =?utf-8?B?WktaT1FwK0xmU2c2KzR0bmFPUS9oa0gyVEY0U2lFRW5LdThWczlydmNST0Fi?= =?utf-8?B?Y3RtTlFDRHZyV0RETzBQZlREN0VUcnJsRUxScWUwdTF1VmJiS0pxbFE5WVdH?= =?utf-8?B?Q2lLNFpEQlZ0SjFPVitJbDcrKzNKby9kZkZZZldwaUt4TmhJU2NHK0x0UzdS?= =?utf-8?B?emlFeFl6UDlXdHpTeWUzOVAwR1lEOEY1bzZSZXo0SEg4NGVuT2pjOHpkSUl0?= =?utf-8?B?b25UeGp5Um9MVEVuY0JGL2h4cWVIMEQwVGFOU1pUUDE0RTRvRXRLZXZNVEEx?= =?utf-8?B?bkVXaVJjclZxYVZXRTNQOFBGOWZCM3d5VGRxUXNNMzc2RSthRkpTVFFya3JL?= =?utf-8?B?bVZEYkFuUmxZbzJBVGFTZnBOTlp4NHNHdlJodVBqdFFBbXNqaFZxd2t0dy9z?= =?utf-8?B?bFhRaWNCUGpXNXIvZHdRc3pQUDVXV1gwbVZOOWcyVEx4V040UW54dllKcDJx?= =?utf-8?B?a25GVzRNTitoSHFFeWhtbEFxRmdmNmx0K3F5a0hXM0tHWnFmY0RQUUlFL1F0?= =?utf-8?B?ZXQxS01RZFJ0WU8raEdQTkpxVHNWaXovZHpIdUdrSHpHS1hLTGliR28wVnNR?= =?utf-8?B?UDg1UnVPRkg5c1E5b3prNUpjeXhZcUxJRjc5SHVzZ0NScDFveEpGcWhCdG4x?= =?utf-8?B?N1VseGs2b2hYOUpxc0tEUno0VVVuNHlHcUc5RnV5dWpub2xqQ24vU1lYWWli?= =?utf-8?B?dGZIa00zRHFhcWgraWQvTjQvTGpCcFN4QkVoZHU4MlI3YkJheGdRMWF1N2RR?= =?utf-8?B?aWt3RWEya3lWcVkwTmlZRkJkc05paGlZVlpOYjJFYmlWYmpwdjhlVnhObWxp?= =?utf-8?B?b21wYXI1aGJ1RXN4WDBjekxsWGJLNlF0bmNsMHVWT0ZOckp5TFk5OFgzUlFC?= =?utf-8?B?cVVkRGNnWnUzbW1LV0ptZkhjVVdQdXRmbVlkYTVlY3hxSFhYd21BWlozRDR0?= =?utf-8?B?WUtsVzRweXJHYnZRejdQc3ZrZzFHam5NMEJSZUJuMVpjMUc0VElCTXJrWkU2?= =?utf-8?B?MHdSTnVZRHVLeTVvTnlOMlVuRFJsT09QNkJwbWVWTnFUcmZXQWRmV3NtRmZX?= =?utf-8?B?Uk5kVm1ON2NOODFlQm95WXByUVVYeklOcGJLQk5SejQ4cy9YZ3RZWUxvMFl2?= =?utf-8?B?QXRUajlVODRha2N4QzhTbEI4aVI1MTZkUURSa1dJaE15MEowQWdGR09kZ1BG?= =?utf-8?B?R1QzajFYRW9MN3B1MUkwQnBqM1ZYcktFT0ZWR2lvTkw3WW5vSm9TMEwyOTA2?= =?utf-8?B?U1lIQ3BCanNVeUIxeFhrSFJ6ek1JNjU5azh3QmpWWjZUdmZCR1BNdWhwWmlY?= =?utf-8?B?eGQ5RWVuallzN1Y5NExMZ0Q0UTV3S1hIcmw1akhyUnN4S0hWVzAxS1Y2MHlP?= =?utf-8?Q?4=3D?= X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtIRTFQUjA4MDJNQjI0NTg7NjpUaFEwcFFVc21UbDQxMGREcmZubG0wWDRn?= =?utf-8?B?Vmp6SlUwd2krZDhFNHMzam9kVjVlYW5UY1VHTkxVb1hzRTB5SVBuSjhyN3JV?= =?utf-8?B?M2dob3hpVjRjS1FybU5tL3R1Q0tjK3BpRjJiQldJUW9rZC9rN3RLZUZadWdP?= =?utf-8?B?cFFWZ21Vb0dpUHl0LzJqYWpkcDZBc1plVmRNQThBbytzWU91UGhZdjA4bTNQ?= =?utf-8?B?QlkraHAvUGJ4djdEYTJLQnNLWlFORCsyL0RTTjJHVlBuR011U3gvSzJQTlJV?= =?utf-8?B?dUNjcW1UOHpIN05YSm5TVVYra0VQRU5CWEQveStDWFUrQk9sekEzdCtpUzlM?= =?utf-8?B?cVVWSjhwelhaTkxSODF4bDMreUY3VmtlQ25aMmVrS1EvYWNDaFBIdDNNV0Ri?= =?utf-8?B?dHd1QnBvVVgycStyMW1TQUlYUVJRNmlMNlVpMG1seDFweDhMaEZxSHdjaW90?= =?utf-8?B?bFc5RWk2WDZHNEl1R20zWklqTkVMWWgxT2JoYW9vbERMK1paZmhEWUQ5bUNT?= =?utf-8?B?L3hTRmVaZU5leUJ0UEFjZHoxN3hCWVRHeUtuRTk4bWdYRGJNWVFhV0xYTmRv?= =?utf-8?B?NHl3WDhrSnozWE9jdVM1M2c5R3VNU3kvd1U3MTR3TGJCdXFNSDRhNkJYVy90?= =?utf-8?B?cGwyL3AyS3MyYUN2WXNsTnJ6aVZHWVQ1Z0hSRVdJUTdQQy9XR1VYcmtwVjRo?= =?utf-8?B?ekoxZEx5cElET3RYUW9XbnZlcUdJeE55Ri8xMTk4NzVOQXY3RDVnM0NVTW40?= =?utf-8?B?ZTN3VXpad2Y2UVdoUVJvT2FaYlBuNUR4Mk82NkhtaE5CdEpxMWNSNjJDVkJy?= =?utf-8?B?bjdvR0RFTEJOTDN6RjhnQ3FrdUxabWhHZEpBYUdJTjFTaEpPT1hnY2RXZ3Iv?= =?utf-8?B?Wmk5RnJYaml3a2FUcDJ6d0x1MXNDL01KQzJpNW9VSlZDd0ZMZHFOcE1xUWg4?= =?utf-8?B?K1VIT3ROS09PcHpKMGc0Z2FHZ2k2R2tCSzYxdVNTNlM0alovbGluZU4rL0h4?= =?utf-8?B?ckZaRkFTZndpY3UyS3NNRTh2S1ZESkZmNWtaemJONEVNTmJuMWV0a2FwYSs4?= =?utf-8?B?aEJsOGZqazJ3QUl5WlpNdEdDMndXOVBUejlEMHpKVFNiTUFhL3EzVjhJL2ti?= =?utf-8?B?YmMwNXRVWlVqTElQbnBBMzQxYVB4Q2NFNW84dGhtMnp3MUxseTNSRXRiM0d4?= =?utf-8?B?aE0xczZLZ2dHVFhFTHFUNGlyaHUzL0s1WE5uSGdKYm9pTy8ySUxac0pKd1pY?= =?utf-8?B?b1pnS1VydlRiOTMvVUFJdmNBeGxYYmRvMExnTjlnaFJRd0o1cHZ3ck5TOWQv?= =?utf-8?B?MWRmNVVYMW1Wc0NMRFBhNGdvemkxWkEwMHVldlJmQ3hFWXkxczRxWE1rOTJ5?= =?utf-8?Q?R+HcactWJ?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0802MB2458;5:TZkpe1bWGXiAsnG6kXTg6AnSaCnF2WpYo7bOHiIPmFV8zqn6ZUEGWku63oKPcjUxP58EiYoQj4XSU7RUvNxZ0V3tnZnxm7nJ1WmsqvNtIvHrZzFD2ftA+BXcQDywU9QHre7fcQh6BM3aoYR2q5kNRHM9A781U19ghxYgdjy/5VcWZfaTRZmfcU8CnuJyZafxG755TVLAcRzF9Q8PwuXIOhIooLFAeBOep/Jg/xIcQ1VHybkkKKwLxB5lZS5rI+M/J0TLS/UAoJjEv6VNXSouJS1p9TOANbBRaLS8J7Vk56krY0Go47BKKhnwu44rCPlbd8m3/QlCKZeEvbB/7uW1Jwf01o1bOxLpLsL+JgAu8L6LY7YjwMzhcJWUMO4mZe5ooX4nXvZfLdWHZpeMoBm1Sn+ZIYrh0wuUahmr9fg0xYDdFZe0MpYP5oONOf/tDEcYwn2/k5dYbuBhzTWhqY0LjArvO/LthJ/JDzkqVl1mYfQAY9BGAFXgzr9uHJ0bfI+Z;24:8BJT+MtKRnLuJRmyGYNbaz/hCrBEsD9kUSmenv7RK8RuNoUzYnHYJENOM4MifK5Tdzp7HsCQADSDx5Vm+nFbtKHYEKuuAuWokYT6CMReMCs= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;HE1PR0802MB2458;7:o7p1WJ4QPIjyNjy+LQld85VptwGErVWhRAm3jLhQck/Y0Ebm0tKLhMZwMoYaZrUB9tVbuIoEc3/3f7DFTDHuc9+g8xox348hVbqyQaLPORdPNIwPzdqmETpKfPTJPjmLRQqx1YnXniz90EJSh8mYC+vnqWPWaac1ykUfzT8rLYg84z6DnOqWJn1UI3lBTqvmbQSz1GbTW03etrvOzw6vkjS1csd5F5vyUrf8EQtd38qYDPRwYqpPEAGyLeS0XyABkPO0g8y1U2MU9+osx775/oVkiRi8LGDcheY/UvjPMATGeXBDAAMXb4ZUsebRyOWII6TUbmskkBkvfWTO9+9KtAXgdgoYfvjNb/GP/Khb09xr5hSsX0Hc/NGlOZz29kNeJBan9bXmvInRekXoqZ3MAoJ6abCFyKK41FK9dT9Op1RcWcKjepJqx+aLbp/1MEZq491LGUMsuhZSFsgKwgGfRBVRTY5o0HIDSrINu4NAXbMxTdCuUUUvGT9+uZU+WXvP7INYiiltiqhX0Qnz762az0D/bxYInNhMC8Hu5m66hDoDaU21+C0KGnn8bZHwjIv9vkzjDKjCgjuNnm4ir0ZgcehXcNkrwYevwx6m2rkHfRD7NSYdr4+kkHE4SIu6posZA3ST5wlUVu4aXx3i7qF9gkZL50B01Vbvou8o0JX1Xd4YIVyGLW7vDYEcRcmr0yOjJZqZRLWpd7quqkgouUSykcn6eN7A+BYVdvEEHkaLO/sD8g0lzETBKLojnLsEAN7koqtRshRp1H7asqg8CNvnL3OQ2jgFw53R4dkXYGRrbHk= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2017 07:48:04.3428 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0802MB2458 X-SW-Source: 2017-06/txt/msg01163.txt.bz2 On 15/06/2017 17:23:43, Richard Earnshaw (lists) wrote: > On 14/06/17 10:35, Prakhar Bahuguna wrote: > > The ARM ACLE defines the __ARM_FEATURE_COPROC macro which indicates which > > coprocessor intrinsics are available for the target. If __ARM_FEATURE_COPROC is > > undefined, the target does not support coprocessor intrinsics. The feature > > levels are defined as follows: > > > > +---------+-----------+--------------------------------------------------+ > > | **Bit** | **Value** | **Intrinsics Available** | > > +---------+-----------+--------------------------------------------------+ > > | 0 | 0x1 | __arm_cdp __arm_ldc, __arm_ldcl, __arm_stc, | > > | | | __arm_stcl, __arm_mcr and __arm_mrc | > > +---------+-----------+--------------------------------------------------+ > > | 1 | 0x2 | __arm_cdp2, __arm_ldc2, __arm_stc2, __arm_ldc2l, | > > | | | __arm_stc2l, __arm_mcr2 and __arm_mrc2 | > > +---------+-----------+--------------------------------------------------+ > > | 2 | 0x4 | __arm_mcrr and __arm_mrrc | > > +---------+-----------+--------------------------------------------------+ > > | 3 | 0x8 | __arm_mcrr2 and __arm_mrrc2 | > > +---------+-----------+--------------------------------------------------+ > > > > This patch implements full support for this feature macro as defined in section > > 5.9 of the ACLE > > (https://developer.arm.com/products/software-development-tools/compilers/arm-compiler-5/docs/101028/latest/5-feature-test-macros). > > > > gcc/ChangeLog: > > > > 2017-06-14 Prakhar Bahuguna > > > > * config/arm/arm-c.c (arm_cpu_builtins): New block to define > > __ARM_FEATURE_COPROC according to support. > > > > 2017-06-14 Prakhar Bahuguna > > * gcc/testsuite/gcc.target/arm/acle/cdp.c: Add feature macro bitmap > > test. > > * gcc/testsuite/gcc.target/arm/acle/cdp2.c: Likewise. > > * gcc/testsuite/gcc.target/arm/acle/ldc.c: Likewise. > > * gcc/testsuite/gcc.target/arm/acle/ldc2.c: Likewise. > > * gcc/testsuite/gcc.target/arm/acle/ldc2l.c: Likewise. > > * gcc/testsuite/gcc.target/arm/acle/ldcl.c: Likewise. > > * gcc/testsuite/gcc.target/arm/acle/mcr.c: Likewise. > > * gcc/testsuite/gcc.target/arm/acle/mcr2.c: Likewise. > > * gcc/testsuite/gcc.target/arm/acle/mcrr.c: Likewise. > > * gcc/testsuite/gcc.target/arm/acle/mcrr2.c: Likewise. > > * gcc/testsuite/gcc.target/arm/acle/mrc.c: Likewise. > > * gcc/testsuite/gcc.target/arm/acle/mrc2.c: Likewise. > > * gcc/testsuite/gcc.target/arm/acle/mrrc.c: Likewise. > > * gcc/testsuite/gcc.target/arm/acle/mrrc2.c: Likewise. > > * gcc/testsuite/gcc.target/arm/acle/stc.c: Likewise. > > * gcc/testsuite/gcc.target/arm/acle/stc2.c: Likewise. > > * gcc/testsuite/gcc.target/arm/acle/stc2l.c: Likewise. > > * gcc/testsuite/gcc.target/arm/acle/stcl.c: Likewise. > > > > Testing done: ACLE regression tests updated with tests for feature macro bits. > > All regression tests pass. > > > > Okay for trunk? > > > > > > 0001-Implement-__ARM_FEATURE_COPROC-coprocessor-intrinsic.patch > > > > > > From 79d71aec9d2bdee936b240ae49368ff5f8d8fc48 Mon Sep 17 00:00:00 2001 > > From: Prakhar Bahuguna > > Date: Tue, 2 May 2017 13:43:40 +0100 > > Subject: [PATCH] Implement __ARM_FEATURE_COPROC coprocessor intrinsic feature > > macro > > > > --- > > gcc/config/arm/arm-c.c | 19 +++++++++++++++++++ > > gcc/testsuite/gcc.target/arm/acle/cdp.c | 3 +++ > > gcc/testsuite/gcc.target/arm/acle/cdp2.c | 3 +++ > > gcc/testsuite/gcc.target/arm/acle/ldc.c | 3 +++ > > gcc/testsuite/gcc.target/arm/acle/ldc2.c | 3 +++ > > gcc/testsuite/gcc.target/arm/acle/ldc2l.c | 3 +++ > > gcc/testsuite/gcc.target/arm/acle/ldcl.c | 3 +++ > > gcc/testsuite/gcc.target/arm/acle/mcr.c | 3 +++ > > gcc/testsuite/gcc.target/arm/acle/mcr2.c | 3 +++ > > gcc/testsuite/gcc.target/arm/acle/mcrr.c | 3 +++ > > gcc/testsuite/gcc.target/arm/acle/mcrr2.c | 3 +++ > > gcc/testsuite/gcc.target/arm/acle/mrc.c | 3 +++ > > gcc/testsuite/gcc.target/arm/acle/mrc2.c | 3 +++ > > gcc/testsuite/gcc.target/arm/acle/mrrc.c | 3 +++ > > gcc/testsuite/gcc.target/arm/acle/mrrc2.c | 3 +++ > > gcc/testsuite/gcc.target/arm/acle/stc.c | 3 +++ > > gcc/testsuite/gcc.target/arm/acle/stc2.c | 3 +++ > > gcc/testsuite/gcc.target/arm/acle/stc2l.c | 3 +++ > > gcc/testsuite/gcc.target/arm/acle/stcl.c | 3 +++ > > 19 files changed, 73 insertions(+) > > > > diff --git a/gcc/config/arm/arm-c.c b/gcc/config/arm/arm-c.c > > index 3abe7d1f1f5..3daf4e5e1f3 100644 > > --- a/gcc/config/arm/arm-c.c > > +++ b/gcc/config/arm/arm-c.c > > @@ -200,6 +200,25 @@ arm_cpu_builtins (struct cpp_reader* pfile) > > def_or_undef_macro (pfile, "__ARM_FEATURE_IDIV", TARGET_IDIV); > > > > def_or_undef_macro (pfile, "__ARM_ASM_SYNTAX_UNIFIED__", inline_asm_unified); > > + > > + if ((!TARGET_THUMB || TARGET_THUMB2) && arm_arch4 && > > (!TARGET_THUMB || TARGET_THUMB2) looks to me to be equivalent to > TARGET_32BIT. That should be used in preference. TARGET_32BIT is defined to be (TARGET_ARM || arm_arch_thumb2). This is not true for ARMv8-M Baseline which supports neither ARM mode nor the full Thumb2 mode, so this alternative is used. The same conditional is used by arm_acle.h. > Why the test for arm_arch4? Co-processor instructions in ARM state go > back to the dawn of time. In arm_acle.h, the coprocessor intrinsics are only enabled for ARMv4 and above, hence the macro is only available when the intrinsics are available. > GNU coding style requires operators on multi-line statements to be at > the start of the continuation lines, not at the end of lines. > > > + !(arm_arch8 && arm_arch_notm)) > > + { > > + int coproc_level = 0x1; > > + > > + if (arm_arch5) > > + coproc_level |= 0x2; > > + if (arm_arch5e) > > + coproc_level |= 0x4; > > + if (arm_arch6) > > + coproc_level |= 0x8; > > + > > + builtin_define_with_int_value ("__ARM_FEATURE_COPROC", coproc_level); > > + } > > + else > > + { > > + cpp_undef (pfile, "__ARM_FEATURE_COPROC"); > > + } > > Redundant braces around single statement. > > R. Thanks, will fix these. -- Prakhar Bahuguna