From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mailrelay3-3.pub.mailoutpod1-cph3.one.com (mailrelay3-3.pub.mailoutpod1-cph3.one.com [46.30.212.12]) by sourceware.org (Postfix) with ESMTPS id 2737A3857C42 for ; Sat, 11 Jul 2020 07:40:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 2737A3857C42 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=carewolf.com Authentication-Results: sourceware.org; spf=none smtp.mailfrom=linux@carewolf.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=carewolf.com; s=20191106; h=content-type:content-transfer-encoding:mime-version:references:in-reply-to: message-id:date:subject:cc:to:from:from; bh=2o9kBs5dfK7I8l9MkFTgSMBCzmYO+g1tmjFBOHSvOTE=; b=FWCHRgKaaGGAwnbwFc1jWQhwSRYPv0fewX3fLVjDdlNeWvlz/k214pNEq/9mIXB7GzZCPqK00dpF5 A9RohFda7zmaEgUWrPzExekUSsXUh2Rp+d+eheGb8HHBn7HJ+vjJrjwm8IIM5EKVd9S0Fm+wCbe5C+ tlmpABKEV/ysV7YgMH/fh5TIwr3he0g4oQzUsUfpgWA7R58A7j8zjk93WuDr/4jXVZKPXJ0Q7Sj6mN hrr855MeJwoCtH08a1VKOYBeINNamTv+YyZ3C0meYx/LCgICNfCdQQ9R/9CSuXyn/gLxWAMdizG5p0 +1rVD6+F2YQSZvgcde8C8kXTKPeI+7w== X-HalOne-Cookie: 165ed8e465f8b11230e7ba0ecb5ca17af9de1b29 X-HalOne-ID: bd951296-c349-11ea-86e9-d0431ea8bb03 Received: from twilight.localnet (cable-158-181-75-180.cust.telecolumbus.net [158.181.75.180]) by mailrelay3.pub.mailoutpod1-cph3.one.com (Halon) with ESMTPSA id bd951296-c349-11ea-86e9-d0431ea8bb03; Sat, 11 Jul 2020 07:40:07 +0000 (UTC) From: Allan Sandfeld Jensen To: libc-alpha@sourceware.org, gcc@gcc.gnu.org, llvm-dev@lists.llvm.org, x86-64-abi@googlegroups.com Cc: "Mallappa, Premachandra" , Tom Stellard , Florian Weimer Subject: Re: New x86-64 micro-architecture levels Date: Sat, 11 Jul 2020 09:40:06 +0200 Message-ID: <2354001.tdWV9SEqCh@twilight> In-Reply-To: <87365zz3a6.fsf@oldenburg2.str.redhat.com> References: <87365zz3a6.fsf@oldenburg2.str.redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Jul 2020 07:40:11 -0000 On Freitag, 10. Juli 2020 19:30:09 CEST Florian Weimer via Gcc wrote: > glibc (or an alternative loader implementation) would search for > libraries starting at level D, going back to level A, and finally the > baseline implementation in the default library location. > > I expect that some distributions will also use these levels to set a > baseline for the entire distribution (i.e., everything would be built to > level A or maybe even level C), and these libraries would then be > installed in the default location. > > I'll be glad if I can get any feedback on this proposal. I plan to turn > it into a merge request for the x86-64 psABI document eventually. > Sounds good, though if I could dream I would also love a partial replacement option. So that you could have a generic x86-64 binary that only had some AVX2 optimized replacement functions in a supplementary library. Perhaps implemented by marked the library as a partial replacement, so the dynamic linker would also load the base or lower libraries except for functions already resolved. You could also add a level E for the AVX512 instructions in ice lake and above. The VBMI1/2 instructions would likely be useful for autovectorization in GCC. 'Allan