From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa1.mentor.iphmx.com (esa1.mentor.iphmx.com [68.232.129.153]) by sourceware.org (Postfix) with ESMTPS id 0665E3858C5F for ; Tue, 21 Mar 2023 16:59:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0665E3858C5F Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="5.98,279,1673942400"; d="scan'208";a="105294237" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa1.mentor.iphmx.com with ESMTP; 21 Mar 2023 08:59:56 -0800 IronPort-SDR: ikKIGdt28GtxOAZGFhHHAckmx9CrkQzNhuMV3nDQwzyyz3QfWr1CuMbEXzysxUCgNx87ALwENt nSqCkXbL7pa/IwBatPprrqOmlEXis3tBE1Ounqelrvl27nNwi0ltugTnsUWMrUG7LgbvjJeqeM vlWopsR+0nbBCNoLXa/2PO8Zq/LAY7azD7VDPkHBF9UbyORXnLAwewsxj7jbHEcTSlKbbdkky9 uVOd9y4HwqQ7wNFaD0XeuDMxyxcumc4hcCn3tROF+upHm+oJQ8eHIL6udaCEqC/HsL67BO3+JW fMc= Message-ID: Date: Tue, 21 Mar 2023 16:59:52 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Content-Language: en-GB To: GCC Development From: Andrew Stubbs Subject: Libgcc divide vectorization question Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) To svr-ies-mbx-11.mgc.mentorg.com (139.181.222.11) X-Spam-Status: No, score=-6.2 required=5.0 tests=BAYES_00,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hi all, I want to be able to vectorize divide operators (softfp and integer), but amdgcn only has hardware instructions suitable for -ffast-math. We have recently implemented vector versions of all the libm functions, but the libgcc functions aren't builtins and therefore don't use those hooks. What's the best way to achieve this? Add a new __builtin_div (and __builtin_mod) that tree-vectorize can find, perhaps? Or something else? Thanks Andrew