From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by sourceware.org (Postfix) with ESMTPS id 486273858C33 for ; Wed, 23 Nov 2022 12:28:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 486273858C33 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=suse.cz Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.cz Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 35D661F37F; Wed, 23 Nov 2022 12:28:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1669206514; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5G8G+NRuDGCkRlTWqJhenwic/FiG4VnwLfhYsUtgw6Q=; b=gnff1UoOs51b/QyqbqNSIK/mzTTek69kfgTnAe8Li9x79H8I7XKwxsNyxCmUGGV2sUTt/U WVXU0i+CQ6AwK60YENvHLpVioUTeGifoLA1d6EwYigyFvwiZaLHqSzUTQCfYRNsqwCDMPq mPMpCDbBDTgVMrK80NMaO4NhVIej7Zg= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1669206514; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5G8G+NRuDGCkRlTWqJhenwic/FiG4VnwLfhYsUtgw6Q=; b=ciCs89Pnk8WqJGaGzz0AGMwWocgJVAv+tXYK7uVF+aXKM0PtEIzhi5weHRv8xgXrHirLUR F6DBjcasxLkdoiCQ== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 1E23613AE7; Wed, 23 Nov 2022 12:28:34 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id ccBkBvIRfmNGZQAAMHmgww (envelope-from ); Wed, 23 Nov 2022 12:28:34 +0000 Message-ID: Date: Wed, 23 Nov 2022 13:28:33 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 Subject: Re: [RFC] Function Multi Versioning on Arm Content-Language: en-US To: Daniel Kiss , "gcc@gcc.gnu.org" Cc: Pavel Iliin References: <45073915-9D33-4097-9CFD-FFBCB9CE1A44@arm.com> From: =?UTF-8?Q?Martin_Li=c5=a1ka?= In-Reply-To: <45073915-9D33-4097-9CFD-FFBCB9CE1A44@arm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-5.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_SHORT,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 7/18/22 12:36, Daniel Kiss via Gcc wrote: > Hello, > > We are going to add Function Multiversioning [1] support to Arm architectures. > The specification is made public as beta[2] to ensure toolchain that follows Arm > C Language Extension will implement it in the same way. > > A few tweaks considered to make the developers' life easier. > Since the `target` attribute is used widely on Arm, we would like to introduce a > new attribute `target_version` to avoid confusion and possible deployment > problems. The `target_clones` attribute will be supported too. Also the “default” > version to be made optional. > > We are looking for feedback on the specification (reply, github works too). > > Thanks so much, > Daniel > > [1] https://gcc.gnu.org/onlinedocs/gcc/Function-Multiversioning.html > [2] https://github.com/ARM-software/acle/blob/main/main/acle.md#function-multi-versioning > Hey. I've just spent some time looking into https://gitlab.com/x86-psABIs/i386-ABI ABI and I noticed you may define something similar to: GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 Properties: x86 ISA needed: x86-64-baseline, x86-64-v2, x86-64-v3, x86-64-v4 x86 feature used: x86 Where GNU_PROPERTY_X86_FEATURE_2_NEEDED has only 4B pr_data field. In you case you have ~60 features or so, which barely fits into 8B even. If you plan to add a something similar (GNU_PROPERTY_AARCH64_FEATURE_NEEDED or something similar), keep that in mind. Cheers, Martin