From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from JPN01-TYC-obe.outbound.protection.outlook.com (mail-tycjpn01olkn2049.outbound.protection.outlook.com [40.92.99.49]) by sourceware.org (Postfix) with ESMTPS id 6D5AA3858C00 for ; Thu, 28 Sep 2023 03:23:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6D5AA3858C00 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=hotmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=hotmail.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eYJlrBP2vDofDNxsadxWfw7anGxeFY7/VWsF7xfl7EqsXvUUJntTQHv0YQWyWiB1ohiGX9eIPKbmXXwaeMP5hppZvGtpJBA0/WQBJHLETn46KEMedAXMEwxXO6/fOC95jdNQ2lDtzDlB4G1q0WD7lvWq9T7YnJXWVWxS+qZ+gjYW8XFe5idFpfRBWp9Lo4xJLeb0auG6ZYMMHSk49Q55atZ3HA2MvVaqw6MAe2See36+7XFXO1AfgttzTEQjvBWK0YZj8VwlgSuk6M6pjKGzvkm1TOhyUweuZCOxeZKASOaGr42Pd11jBasjb7Ns8mXng8/N4JlgZHk48xzfqbizsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bvGvoWPWV9sz8Bnk99Eif1sTfPHVRaHFJXjcAullUs8=; b=O2Bxj6J4rUeBpY5YSYUSirJxERbIdTq/AdaA0Iy+GuRNAKipLfIZPZwKDqCssfQuBLtDC1SVSn7D2DatLYoDIhdHV0nWkjJ1bE0eydSIUU4sjMOw2fouLrUZYZllWgGtcs/7Vjip3Soa4z3vOfUWbbRw/mkaA6OLwqOCiJDP8VktLJVStUn+qUW4D0X6dSSsOA7sVRzcOcqkbwgRhRyOXSxAjiO5FkBo4CkwNSXU37PGaHYFcskJZO25l6cu5Y6Q1EO5ZgJSHlayLSLVQOqHywj5cxStHOjo6MIqH6t8taoj/6Ajf/+T2z3alylHdHVHdbPfaxTUdeBv1uurDt7nbg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bvGvoWPWV9sz8Bnk99Eif1sTfPHVRaHFJXjcAullUs8=; b=P2e3KeWloQi9RDqVjBi05xFytnMoAod6xPwK2mR+5EaZRaPE6ccx8D41a7q4+C8hhGGLPECcl1fSi2Hf2oOkffsoxpE4kHCvj0ZVxL1sKSvPQZT5z5rEUwZarZzwgQzjiuFELRByLVbSH6hZ4mBBkaYofWaNqdMBFVRr6lLviYxRlSy5gLpMNUpLOYmK5evxokP88JfrsfmVd47X5r7gfLcEZHLzz337xj5gXT2L4xaXCugjcVFxsar3vrvBbUWF+n7EYLlVHUi38zjjPhg/3m3ewn6kqJmGtC/LF3MKunk5d4xzM6pEcBe8RWyTuxC6CU4Q4rvpzDQZE85isPoNVg== Received: from OS3P286MB0584.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:d7::11) by TYWP286MB2495.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:236::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.19; Thu, 28 Sep 2023 03:23:27 +0000 Received: from OS3P286MB0584.JPNP286.PROD.OUTLOOK.COM ([fe80::d126:2ec4:3e26:ca82]) by OS3P286MB0584.JPNP286.PROD.OUTLOOK.COM ([fe80::d126:2ec4:3e26:ca82%4]) with mapi id 15.20.6838.016; Thu, 28 Sep 2023 03:23:27 +0000 Message-ID: Date: Thu, 28 Sep 2023 13:23:23 +1000 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: [PATCH 00/18] Support -mevex512 for AVX512 Content-Language: en-AU To: "Hu, Lin1" , "gcc-patches@gcc.gnu.org" References: <20230921072013.2124750-1-lin1.hu@intel.com> From: ZiNgA BuRgA In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-TMN: [kgQSFijrdLGBbwaqgY8paOJ/i1ArA3iq] X-ClientProxiedBy: SY5PR01CA0097.ausprd01.prod.outlook.com (2603:10c6:10:207::18) To OS3P286MB0584.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:d7::11) X-Microsoft-Original-Message-ID: <3f401f3a-a9e8-99ec-dd42-a247ec02424f@hotmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS3P286MB0584:EE_|TYWP286MB2495:EE_ X-MS-Office365-Filtering-Correlation-Id: 61fc1078-1673-4a88-4a0e-08dbbfd247a3 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6m208JZBoL9FSvnSwGquauXwqH843337DFpSXczmv9IxA/awovyl3A5Aotcp2bMA2g6e7A0QxaDnnJ4LiX4j6ZlkKYKB/e0X5m1MQ1zWPiwVe59SplZC6xxpgXWjgJgVG6MpPooMuSiu2JFL08DpJntm8LpYyY/OZvNE6XuLKK850CK1aUhiuUT9UxT2hzEdGqKGOMD1qEOfz4Rg7V50IF+RiN6S6p7nIKP4o28aCBfyuXRXiTjBmBOCaGkSGTcirzW1M51cKsDxYb9yoVs0fdGGJJktsiBpTBDYODgmT1H7MvgI0ApNo++6oU1phumMUqO7OE4ENGg6q2z7BlVHVjAisGwaM9nCFpt4FPDIYcpFzYVqdi3mcMYY53+q9bn6Ppi0sv/4DZ9aNmUUQrIRkU7AVy13qTDdohfjD8dv/gJAL75aDUvupirW6gyzP9bcOUrL/dAJNAx7KeH0oG7A5XmvK4zzr3D0O41iDjRpWCBnLWqE+xaf5230VMBkXtRBUM8GqRWERKM7BXDILsce2pkaH17jh2YPC3lgHVL/0T0to9o9mo5qcHOpRa3n15XIsyPJwxA8HhCs58GT9LENASBpr6yxHHhdLVXnWQ/ieMo= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eVNNS3c3YkRWR28rNkV6cmUvNlpqRGZDSDBDVkcrUDcyMkk1Tk1xSHhWZzBi?= =?utf-8?B?RG5rd01BNzk5Ym9DajlrNS9uTmtaWlI1YjVtMDcrQktQa01DRWh4c3pQV1lG?= =?utf-8?B?MWRENG5JTVZ3cG1zWTJmamdoNGhEU040UE1iZlEwYWVlS0drdFFXODd3WDVN?= =?utf-8?B?MmxoMUd3blp3OWN1Q3NKamhEWEhCL1FsQ3dXTlJGOVVzSUlueXVRR0FmTSsr?= =?utf-8?B?Z0Y5SWt2SEg4TUtrNlQzODkzVlRpdHhxd25LY01LcVR2WjFNaUhZTWxSMlc4?= =?utf-8?B?MXNJb0ZvOFk2V0dQWGZkOFRGZG42MC8rNlREN3FycnpCSm90Yk9ORlltNjhO?= =?utf-8?B?V25PclRyaFNtV3ZWd093ekJVK2o1ZU04enFrS2oxYjBEcW4vWW9HQ2NQcTdy?= =?utf-8?B?UEY0dGU0OVJLZ2VuY1B1eHBXOHF3SVVjU3JLbUFZNW10OEhZSWJXcjBYdzFQ?= =?utf-8?B?dUw0bjJkZnRMeENHeWlrTTZ6c0hLdUtNLytWRGRzYVdTRGFhWjJtNWFXUHRZ?= =?utf-8?B?d2NOWFVQWTVsMTU1Rnh5WDhWZ29oYkRXckp6SkZCMkxkbzBybndQaXdSWmdz?= =?utf-8?B?VHlSTkFzSS9wOFp4MFJnSW80VVpYbitlTVRQNTZHdmFkQTdSNlVzcENaaUMr?= =?utf-8?B?QWdWak02TUtMZjBVUkNQL1NmbWNhS2o2MVBxNDBUTnVDSmtZMkphUGhva0dV?= =?utf-8?B?eE00ZXFPTjZjTEJxNGFMeFpnN2ZKQVJ1TmJzWm1mUElGdlI0dHRRMkQwZzZZ?= =?utf-8?B?UWdmcldCYzVGZ3RxUEc2T3pwL3VQTkREbGdJQVZYcjVlUkJjem11VlVuRFJR?= =?utf-8?B?a0lhOTZqMkRXOUJZUXlRMjJ2dkpkZ0tyNlpmZk16UUxQMjFsZk5UZ0pkSk9X?= =?utf-8?B?TGZBNzhpN2psZXF3K2JJSEUwTHA1VFpQNEEyYm5RM20xMnQ4RHJZeGF4L1pa?= =?utf-8?B?NHh0WnptS2RZaXo3SHk2UXVhUm1MRXZUbDUyUkxyVnE2OVFEYzk3YlQvYzhV?= =?utf-8?B?dXVzdEJGMmkwN1BiRkR5Zk1SVHYwQWcyL3RMRS9OVTZhbmY5aUhWYTM1aDRB?= =?utf-8?B?WlYxNmZiZUJxQjVycWNRSk1teml0UFBqWEdIbnRERVhITEpZeHhqOVpIZzN1?= =?utf-8?B?a1VZRW0xcEhrWHlPNUF5VHZ1UUF5aDk4MEQ4QnBpNjliTG8ycFo1QVJ6bFgz?= =?utf-8?B?L01KckUxbktxT2tVNml0ZnFiSWp0ZGVYZWJMdHZOQW1qaGo4eFVhZmxTb2R6?= =?utf-8?B?eGpabDFQYjZ4L051NVp3ZTJEcmwyRWNmbmJTUS82MzZUN1JpTlR6THp4WU9P?= =?utf-8?B?MVdVTWd6NW9qZHl0eHpQUTVtOTh4dGNoS1pVTkRrYTBOdGNtck9tRXIrd2JP?= =?utf-8?B?TkNpa25DT1JPYWNhQjUwTm5jUHZwQXNKUEU4QVF3cjNJbkJpdS95ZTRnNFpB?= =?utf-8?B?bkZIOVlCS290R2ZCd0FjVTZrQ1VuZExFK1gvUjRETWg5d3pCY3dOaXd6VWdO?= =?utf-8?B?WXdudVVVRmFNeElvSGJpMEJRUVZDYWJveHVRMytEK21QRk93R294T1FrVlh4?= =?utf-8?B?U0k5L0FlMm85bXdQWjhiaE5GeEFyZ00rSWNqcS84NldZYm5tYzk2ZlAybmJm?= =?utf-8?B?ZnJySmZlVXNUZmJoRXkrQzRub29LNkE9PQ==?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-05f45.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 61fc1078-1673-4a88-4a0e-08dbbfd247a3 X-MS-Exchange-CrossTenant-AuthSource: OS3P286MB0584.JPNP286.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Sep 2023 03:23:27.3730 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYWP286MB2495 X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_00,BODY_8BITS,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_MUA_MOZILLA,FREEMAIL_FROM,KAM_NUMSUBJECT,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,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: That sounds about right.  The code I had in mind would perhaps look like: #if defined(__AVX512BW__) && defined(__AVX512VL__)     #if defined(__EVEX256__) && !defined(__EVEX512__)         // compiled code is AVX10.1/256 and AVX512 compatible     #else         // compiled code is only AVX512 compatible     #endif     // some code which only uses 256b instructions     __m256i... #endif The '__EVEX256__' define would avoid needing to check compiler versions. Hopefully you can align it with whatever Clang does: https://discourse.llvm.org/t/rfc-design-for-avx10-feature-support/72661/18 Thanks! On 28/09/2023 12:26 pm, Hu, Lin1 wrote: > Hi, > > Thanks for you reply. > > I'd like to verify that our understanding of your requirements is correct, and that __EVEX256__ can be considered a default macro to determine whether the compiler supports the __EVEX***__ series of switches. > > For example: > > I have a segment of code like: > #if defined(__EVEX512__): > __mm512.*__; > #else > __mm256.*__; > #endif > > But __EVEX512__ is undefined that doesn't mean I only need 256bit, maybe I use gcc-13, so I can still use 512bit. > > So the code should be: > #if defined(__EVEX512__): > __mm512.*__; > #elif defined(__EVEX256__): > __mm256.*__; > #else > __mm512.*__; > #endif > > If we understand correctly, we'll consider the request. But since we're about to have a vacation, follow-up replies may be a bit slower. > > BRs, > Lin > > -----Original Message----- > From: ZiNgA BuRgA > Sent: Thursday, September 28, 2023 8:32 AM > To: Hu, Lin1 ; gcc-patches@gcc.gnu.org > Subject: Re: [PATCH 00/18] Support -mevex512 for AVX512 > > Thanks for the new patch! > > I see that there's a new __EVEX512__ define.  Will there be some __EVEX256__ (or maybe some max EVEX width) define, so that code can detect whether the compiler supports AVX10.1/256 without resorting to version checks? > >