From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 4F0D04221C for ; Wed, 2 Mar 2022 05:34:21 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7942B68B194; Wed, 2 Mar 2022 07:34:18 +0200 (EET) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4D6E968AFDC for ; Wed, 2 Mar 2022 07:34:10 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1646199256; x=1677735256; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=R/SUdBrl+ju6KST1zm890f90Cl3SrrYw0nZ4mFRVIJc=; b=JgUSwMn7lTnCxZ5pHq8SfkIzrPtj8lNsszSWYRyTcLHiKMEO24fJ4ACS gN5ATDPSx/eIQ26kc/XxKfLv6oGCfyZZBrKZoB8/1pZP2lbDopwRK5e3+ mIoYFy8MReKf9skBR8dD00fSFb0m4EOeOCN0lZ5ytTN+wQYCXmGqxMEVs sz87rddw/tsLbUtxqRGi0YW/6YB7lbcRzDxN1uDetHG9YjOHCBARngd/N T/8sj8LVibWBoeOWY3whvQE0TIZ0vGZcZfARVpuwG4polBpSJsVdk/x3w doT83jG7lzEkXoGOxo9pSfLkhkUYW8vWT19wQ+I8Jiht00MVtEY4sQB2g Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10273"; a="277987316" X-IronPort-AV: E=Sophos;i="5.90,148,1643702400"; d="scan'208";a="277987316" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Mar 2022 21:34:07 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,148,1643702400"; d="scan'208";a="806651742" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by fmsmga005.fm.intel.com with ESMTP; 01 Mar 2022 21:34:07 -0800 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21; Tue, 1 Mar 2022 21:34:07 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21 via Frontend Transport; Tue, 1 Mar 2022 21:34:07 -0800 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.176) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.20; Tue, 1 Mar 2022 21:34:06 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IFcB1QE5jHqMlHnlMeytFP2wPa1FZDopUTOc3WIMWcWbPiCsS9c8WBuaaPkWmEXqdudfxjP5/qJtVh5AbztnVJ0jbYwxyY295KzpH8C6sV3Wuqbp+ZtRKxqo2UjJ8hhnfNurcIJpuMvfaaoH6IrXIS0N6Za8rxCQX9eijAjTyP3RDcf80zbWPjCKdzdjaq33PLunt8vA2COgxN3EVGUe91L2ZMrPkQOMGSL0nwGHMhoRf7XSI68JUOGoYE4w/mfSvnksm3BxbPaMkDZwajrIW32ACD9dgqnGYwo7VofcLyfNspc+jOsDun1cRaiZzIPM168qwOw8MSLfo03PmH9fuQ== 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=OMDcIbZr7g65WtlQIZL9goysZMv7K8Pz5qJi1J4sk+w=; b=hGy+TEOROzZtboRrzuEU4Qwhbpdl67vUsQpy0uQcc8Iy7w/y5cfOIK3j0WkIRiGLXkLdgqBpECs1rn9G5NkCGrmO4Vx19cGahcUEgOglqRzcHPMJ7JnaWjDHcKS7ya6Yu+akhrGG+ZLwDbpcvnpRcG010wTmg8kOacWqCykOz0McnUA+qS0RNcpLFSXj5zGIGs5qkpNEnlLrsTgJIvXtqlSjmwfNWOBFSqk1qPjzhhw3a4zNZQMcnXRvM0E/qpHPZbjXdqh/LqjTZ3VEMwElBGPVvGBhfptzMsl4thghirYJWDcBS4vHiCvOTGYnkR5avlAJo8L/4EAxR2pf/hHRNA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from PH0PR11MB4968.namprd11.prod.outlook.com (2603:10b6:510:39::15) by SN6PR11MB3341.namprd11.prod.outlook.com (2603:10b6:805:bc::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5017.24; Wed, 2 Mar 2022 05:33:59 +0000 Received: from PH0PR11MB4968.namprd11.prod.outlook.com ([fe80::83d:4cd0:f7c3:284e]) by PH0PR11MB4968.namprd11.prod.outlook.com ([fe80::83d:4cd0:f7c3:284e%5]) with mapi id 15.20.5017.027; Wed, 2 Mar 2022 05:33:57 +0000 From: "Wu, Jianhua" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH 1/6] avutil/cpu: add AVX512 Icelake flag Thread-Index: AQHYKJNw/2szfUMafUKH4wUIBYpM7ayrnPyQ Date: Wed, 2 Mar 2022 05:33:57 +0000 Message-ID: References: <20220223085735.70854-1-jianhua.wu@intel.com> In-Reply-To: <20220223085735.70854-1-jianhua.wu@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.6.401.20 dlp-reaction: no-action authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 96c70de8-bb1c-4db5-00a8-08d9fc0e3fbc x-ms-traffictypediagnostic: SN6PR11MB3341:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Gj2NBcDOMyxSeExJ/q3IHAZP0lBjRLJ6enrsdvk+z64Ixdl3kpWQ9Xzf5hmTCAKWbNpy/GiV9qT1ne6U4fI+KOHg22TQMr3Ib0+v47aC3FknP4A/E4lScu5izjhB7TOwmHXFeJRQN5DPLjsbpUzuy5zNZqWQ1GPTPax6X9IZwMtOtQIkGGH8Ae+2WsN4FbXtK7c9FGFJDpqJIQiiV78CXf5MTqJ/tMCuKMr6XYqbKlH7RlIByzcyvofHwSKTzoBx6frrIvVPu7RM8HJQWT5awcVVoT+1QPp2n5PK6IUTmANg8RrjZhZLG5RjyIYXlUvrf0Tw1oxay2Cb6pxPF0Z1NgZjT0cDTVjnxSf6ZFcdJlGZ/4INYG5s6ZLSXdEwcPogVdr36oFuP8ypcaOBKH4JewkorqmPlpbCnJjse0/fsgOs3wnu04tEaQ2zQjL00X72k3mMqY7U3ojfGY4ZNFY7ZO+DVor6Z7FI/AUFwleRuN2EEkmxlnro7/mIbPqiNOQ1fzUvRypiAi6X/elv36XIIxb0MS/MYq1Q9C1iCqtC4Xp2VJ81ZNgrjegNtxfIve2GmiRhbzpz+xfd5PkEPZEielvBZkeLY1gN/Jr7J6faSToimrj5g3DFQmJxp06/2BOfw4zFAeKDJJRPvgmY15MBwrCkLIWtLENoy7O4NVcBBweYtj1ETyjwPFRfN4oQ7PUn7ZkdJOrYPp9cxhHsWh2Qrg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB4968.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(8936002)(33656002)(76116006)(6506007)(52536014)(86362001)(53546011)(6916009)(508600001)(316002)(8676002)(7696005)(64756008)(66556008)(66476007)(66946007)(66446008)(71200400001)(26005)(186003)(38100700002)(38070700005)(5660300002)(82960400001)(122000001)(9686003)(55016003)(2906002)(83380400001)(30864003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?AAgSEmqnybOTSMeUmBEWBCQCIBSiTve63HErcbE/IiwINlWrnBAGGC1lVorY?= =?us-ascii?Q?vOQfoMCwwRhexJYH/SoyXtJjBU10unkLs4qTbp+EKdjBSJULOFu24fCKFHLs?= =?us-ascii?Q?XqRqc5AWwGVZHG6FFFzhohq80h86j3Wg8rh7YbGJyV/kEfSkuB3VCyNQkjZy?= =?us-ascii?Q?fqSAjXZ0ZYyMNWZnTDtOZii5Jq9FOFnYbpsg3QcRK5D+83qDL/aZuRw9weGp?= =?us-ascii?Q?4caHk6oK2NvcB1UMYcSmBKjKB0f0+A9n1UPXHfnHbxxCYoHJ/GVpTEdvOFxO?= =?us-ascii?Q?di2FPoGX32ExWCjapBioeNQWwrF1RcnfxXv4sMlY7C+htzssy0Hwe1XYiKJn?= =?us-ascii?Q?Z0aITaD5it8GkCL05c9om2mtMfPD5du18worLdJXoJDfF7Hm/Ef/rCXJ7E/V?= =?us-ascii?Q?wdBH89IinqlvoDUHqACJfRfVagans/d7krU9NAE1tx0WEQdFEt1nh7JNWs09?= =?us-ascii?Q?9XrciYnND36s5z242x0sfsCp7eeFTP8ovuffdg39GNHEiCjNTFllJybFRKAl?= =?us-ascii?Q?pUAkKEO5lFKaXDQomiTGaPNL46spyJqanfjyJAVxQTT/aUYFAX2nwHr8L6LP?= =?us-ascii?Q?N855yitwgPYR4mZIRoE0D8mhSn9qzOPzc543bYaEO52gFDM+xj0gXtJVttxr?= =?us-ascii?Q?gBiElEjvJMsqaccyFc+Wb2/67N855L8laHQQOfyDpl0jkAdZAFXm2fpeI1Hl?= =?us-ascii?Q?dVVLSrKSAUMGPiuoA5jiVeJph2lfw6aMyS/N4YGLFlSBDf6EtM42oxvF09hG?= =?us-ascii?Q?toebIDj5Z2esJN3XexRjDIltBmRkiuzDxXNvtiNLjVeE1dJ6lT7488EjED0m?= =?us-ascii?Q?yBX/i6ihngKLxBSDOuJou8kSTShqqcer0B7vMxZwz7Q0UxxJ8vxHkp0Xazug?= =?us-ascii?Q?gbeD/5A8h5QendeNbqjRYwZOFoJEvPP5vSQW+X/L2M9i8a50uykuRXnhek2h?= =?us-ascii?Q?f9wj3QGUVwzWrLZ3MxQqQYDxl5orvtG0s6t2+uaN6DEajHjcgkwvKnecpZES?= =?us-ascii?Q?cQh6ldVTcDO3ioCo3j8Mu2f16F2vhr0ruMyL8ryB7icoyDv1qN9qkOJwHg+1?= =?us-ascii?Q?J4LHCrLWapREk54SQBIj3L+IWcxCu2AK1isynrZ8VoJ3MxXl9mG26y9Ay9BI?= =?us-ascii?Q?SPviac05/DglUku6Z2k/p8uxW6+hsPX5akmhvtMW7SUnycYeazEP3vWJd1+x?= =?us-ascii?Q?CCvHAlKIhRT+JjMWrYTom7ekxPpyT/WV72nkA3ikT7gwwvpSxUKJ8QnwdZub?= =?us-ascii?Q?lMgI3MjE1TRtzEkxQdujRlICbMO798MOOFVZ4GZii538XQLzDK6rsAQ/bDtS?= =?us-ascii?Q?qgHzqApJvr/PL1hTJNIuxW5vMGudXGhFshWJ/tKnn2t0i6yXe6pXgJS59f+2?= =?us-ascii?Q?ysZcomgLAKDuSwqddfAK8pthT2+1SqdAJa0LhxHCFq5v27cxvszvJebsHYv6?= =?us-ascii?Q?v56vrfVTEv1ehbQvcc+uqYM6Ih+xEVIFDdClmxnKokKxNiRLD32nv8Tra0dq?= =?us-ascii?Q?k3EZgOhkxo88D9oYCBFgle/v+QoC9Wl4xxHf/yVN9DKs/v+2/U2Hkk2+Htcp?= =?us-ascii?Q?y2NDUVSE3TOWcd0Ea2cNMhlkG8xIioh7VAfq4hLkTIthRQxjHTi6wa2d1nkM?= =?us-ascii?Q?KA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB4968.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 96c70de8-bb1c-4db5-00a8-08d9fc0e3fbc X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Mar 2022 05:33:57.7881 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: mio1FCWpCqUtdSIVNGUgQlnpg5yybRXfYSzvV8sUskd+xsoKvBMoxgEWx863MchNYKqN2HnBAjbbGhlH3NMwDw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB3341 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH 1/6] avutil/cpu: add AVX512 Icelake flag X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Ping. > -----Original Message----- > From: Wu, Jianhua > Sent: Wednesday, February 23, 2022 4:58 PM > To: ffmpeg-devel@ffmpeg.org > Cc: Wu, Jianhua > Subject: [PATCH 1/6] avutil/cpu: add AVX512 Icelake flag > > From: Wu Jianhua > > Signed-off-by: Wu Jianhua > --- > configure | 13 +++++++--- > libavutil/cpu.c | 1 + > libavutil/cpu.h | 1 + > libavutil/x86/cpu.c | 8 ++++-- > libavutil/x86/cpu.h | 1 + > libavutil/x86/x86inc.asm | 53 ++++++++++++++++++++------------------- > tests/checkasm/checkasm.c | 35 +++++++++++++------------- > 7 files changed, 63 insertions(+), 49 deletions(-) > > diff --git a/configure b/configure > index 1535dc3c5b..d88c2ae979 100755 > --- a/configure > +++ b/configure > @@ -444,6 +444,7 @@ Optimization options (experts only): > --disable-fma4 disable FMA4 optimizations > --disable-avx2 disable AVX2 optimizations > --disable-avx512 disable AVX-512 optimizations > + --disable-avx512icl disable AVX-512ICL optimizations > --disable-aesni disable AESNI optimizations > --disable-armv5te disable armv5te optimizations > --disable-armv6 disable armv6 optimizations > @@ -2098,6 +2099,7 @@ ARCH_EXT_LIST_X86_SIMD=" > avx > avx2 > avx512 > + avx512icl > fma3 > fma4 > mmx > @@ -2666,6 +2668,7 @@ fma3_deps="avx" > fma4_deps="avx" > avx2_deps="avx" > avx512_deps="avx2" > +avx512icl_deps="avx512" > > mmx_external_deps="x86asm" > mmx_inline_deps="inline_asm x86" > @@ -6128,10 +6131,11 @@ EOF > elf*) enabled debug && append X86ASMFLAGS $x86asm_debug ;; > esac > > - enabled avx512 && check_x86asm avx512_external "vmovdqa32 > [eax]{k1}{z}, zmm0" > - enabled avx2 && check_x86asm avx2_external "vextracti128 xmm0, > ymm0, 0" > - enabled xop && check_x86asm xop_external "vpmacsdd xmm0, > xmm1, xmm2, xmm3" > - enabled fma4 && check_x86asm fma4_external "vfmaddps ymm0, > ymm1, ymm2, ymm3" > + enabled avx512 && check_x86asm avx512_external "vmovdqa32 > [eax]{k1}{z}, zmm0" > + enabled avx512icl && check_x86asm avx512icl_external "vpdpwssds > zmm31{k1}{z}, zmm29, zmm28" > + enabled avx2 && check_x86asm avx2_external "vextracti128 > xmm0, ymm0, 0" > + enabled xop && check_x86asm xop_external "vpmacsdd xmm0, > xmm1, xmm2, xmm3" > + enabled fma4 && check_x86asm fma4_external "vfmaddps ymm0, > ymm1, ymm2, ymm3" > check_x86asm cpunop "CPU amdnop" > fi > > @@ -7471,6 +7475,7 @@ if enabled x86; then > echo "AVX enabled ${avx-no}" > echo "AVX2 enabled ${avx2-no}" > echo "AVX-512 enabled ${avx512-no}" > + echo "AVX-512ICL enabled ${avx512icl-no}" > echo "XOP enabled ${xop-no}" > echo "FMA3 enabled ${fma3-no}" > echo "FMA4 enabled ${fma4-no}" > diff --git a/libavutil/cpu.c b/libavutil/cpu.c index 1368502245..833c220192 > 100644 > --- a/libavutil/cpu.c > +++ b/libavutil/cpu.c > @@ -137,6 +137,7 @@ int av_parse_cpu_caps(unsigned *flags, const char *s) > { "cmov", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = > AV_CPU_FLAG_CMOV }, .unit = "flags" }, > { "aesni", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = > AV_CPU_FLAG_AESNI }, .unit = "flags" }, > { "avx512" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = > AV_CPU_FLAG_AVX512 }, .unit = "flags" }, > + { "avx512icl", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = > AV_CPU_FLAG_AVX512ICL }, .unit = "flags" }, > { "slowgather", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = > AV_CPU_FLAG_SLOW_GATHER }, .unit = "flags" }, > > #define CPU_FLAG_P2 AV_CPU_FLAG_CMOV | AV_CPU_FLAG_MMX diff -- > git a/libavutil/cpu.h b/libavutil/cpu.h index ce9bf14bf7..9711e574c5 100644 > --- a/libavutil/cpu.h > +++ b/libavutil/cpu.h > @@ -54,6 +54,7 @@ > #define AV_CPU_FLAG_BMI1 0x20000 ///< Bit Manipulation Instruction > Set 1 > #define AV_CPU_FLAG_BMI2 0x40000 ///< Bit Manipulation Instruction > Set 2 > #define AV_CPU_FLAG_AVX512 0x100000 ///< AVX-512 functions: > requires OS support even if YMM/ZMM registers aren't used > +#define AV_CPU_FLAG_AVX512ICL 0x200000 ///< > +F/CD/BW/DQ/VL/VNNI/IFMA/VBMI/VBMI2/VPOPCNTDQ/BITALG/GFNI/V > AES/VPCLMULQD > +Q > #define AV_CPU_FLAG_SLOW_GATHER 0x2000000 ///< CPU has slow > gathers. > > #define AV_CPU_FLAG_ALTIVEC 0x0001 ///< standard > diff --git a/libavutil/x86/cpu.c b/libavutil/x86/cpu.c index > 7b13fcae91..d6cd4fab9c 100644 > --- a/libavutil/x86/cpu.c > +++ b/libavutil/x86/cpu.c > @@ -150,9 +150,13 @@ int ff_get_cpu_flags_x86(void) > rval |= AV_CPU_FLAG_AVX2; > #if HAVE_AVX512 /* F, CD, BW, DQ, VL */ > if ((xcr0_lo & 0xe0) == 0xe0) { /* OPMASK/ZMM state */ > - if ((rval & AV_CPU_FLAG_AVX2) && (ebx & 0xd0030000) == > 0xd0030000) > + if ((rval & AV_CPU_FLAG_AVX2) && (ebx & 0xd0030000) == > + 0xd0030000) { > rval |= AV_CPU_FLAG_AVX512; > - > +#if HAVE_AVX512ICL > + if ((ebx & 0xd0200000) == 0xd0200000 && (ecx & 0x5f42) == 0x5f42) > + rval |= AV_CPU_FLAG_AVX512ICL; #endif /* > +HAVE_AVX512ICL */ > + } > } > #endif /* HAVE_AVX512 */ > #endif /* HAVE_AVX2 */ > diff --git a/libavutil/x86/cpu.h b/libavutil/x86/cpu.h index > 937c697fa0..40a1eef0ab 100644 > --- a/libavutil/x86/cpu.h > +++ b/libavutil/x86/cpu.h > @@ -80,6 +80,7 @@ > #define EXTERNAL_AVX2_SLOW(flags) CPUEXT_SUFFIX_SLOW2(flags, > _EXTERNAL, AVX2, AVX) > #define EXTERNAL_AESNI(flags) CPUEXT_SUFFIX(flags, _EXTERNAL, > AESNI) > #define EXTERNAL_AVX512(flags) CPUEXT_SUFFIX(flags, _EXTERNAL, > AVX512) > +#define EXTERNAL_AVX512ICL(flags) CPUEXT_SUFFIX(flags, _EXTERNAL, > AVX512ICL) > > #define INLINE_AMD3DNOW(flags) CPUEXT_SUFFIX(flags, _INLINE, > AMD3DNOW) > #define INLINE_AMD3DNOWEXT(flags) CPUEXT_SUFFIX(flags, _INLINE, > AMD3DNOWEXT) > diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm index > 01c35e3a4b..251ee797de 100644 > --- a/libavutil/x86/x86inc.asm > +++ b/libavutil/x86/x86inc.asm > @@ -817,32 +817,33 @@ BRANCH_INSTR jz, je, jnz, jne, jl, jle, jnl, jnle, jg, jge, > jng, jnge, ja, jae, > > ; cpuflags > > -%assign cpuflags_mmx (1<<0) > -%assign cpuflags_mmx2 (1<<1) | cpuflags_mmx > -%assign cpuflags_3dnow (1<<2) | cpuflags_mmx > -%assign cpuflags_3dnowext (1<<3) | cpuflags_3dnow > -%assign cpuflags_sse (1<<4) | cpuflags_mmx2 > -%assign cpuflags_sse2 (1<<5) | cpuflags_sse > -%assign cpuflags_sse2slow (1<<6) | cpuflags_sse2 > -%assign cpuflags_lzcnt (1<<7) | cpuflags_sse2 > -%assign cpuflags_sse3 (1<<8) | cpuflags_sse2 > -%assign cpuflags_ssse3 (1<<9) | cpuflags_sse3 > -%assign cpuflags_sse4 (1<<10)| cpuflags_ssse3 > -%assign cpuflags_sse42 (1<<11)| cpuflags_sse4 > -%assign cpuflags_aesni (1<<12)| cpuflags_sse42 > -%assign cpuflags_avx (1<<13)| cpuflags_sse42 > -%assign cpuflags_xop (1<<14)| cpuflags_avx > -%assign cpuflags_fma4 (1<<15)| cpuflags_avx > -%assign cpuflags_fma3 (1<<16)| cpuflags_avx > -%assign cpuflags_bmi1 (1<<17)| cpuflags_avx|cpuflags_lzcnt > -%assign cpuflags_bmi2 (1<<18)| cpuflags_bmi1 > -%assign cpuflags_avx2 (1<<19)| cpuflags_fma3|cpuflags_bmi2 > -%assign cpuflags_avx512 (1<<20)| cpuflags_avx2 ; F, CD, BW, DQ, VL > - > -%assign cpuflags_cache32 (1<<21) > -%assign cpuflags_cache64 (1<<22) > -%assign cpuflags_aligned (1<<23) ; not a cpu feature, but a function variant > -%assign cpuflags_atom (1<<24) > +%assign cpuflags_mmx (1<<0) > +%assign cpuflags_mmx2 (1<<1) | cpuflags_mmx > +%assign cpuflags_3dnow (1<<2) | cpuflags_mmx > +%assign cpuflags_3dnowext (1<<3) | cpuflags_3dnow > +%assign cpuflags_sse (1<<4) | cpuflags_mmx2 > +%assign cpuflags_sse2 (1<<5) | cpuflags_sse > +%assign cpuflags_sse2slow (1<<6) | cpuflags_sse2 > +%assign cpuflags_lzcnt (1<<7) | cpuflags_sse2 > +%assign cpuflags_sse3 (1<<8) | cpuflags_sse2 > +%assign cpuflags_ssse3 (1<<9) | cpuflags_sse3 > +%assign cpuflags_sse4 (1<<10)| cpuflags_ssse3 > +%assign cpuflags_sse42 (1<<11)| cpuflags_sse4 > +%assign cpuflags_aesni (1<<12)| cpuflags_sse42 > +%assign cpuflags_avx (1<<13)| cpuflags_sse42 > +%assign cpuflags_xop (1<<14)| cpuflags_avx > +%assign cpuflags_fma4 (1<<15)| cpuflags_avx > +%assign cpuflags_fma3 (1<<16)| cpuflags_avx > +%assign cpuflags_bmi1 (1<<17)| cpuflags_avx|cpuflags_lzcnt > +%assign cpuflags_bmi2 (1<<18)| cpuflags_bmi1 > +%assign cpuflags_avx2 (1<<19)| cpuflags_fma3|cpuflags_bmi2 > +%assign cpuflags_avx512 (1<<20)| cpuflags_avx2 ; F, CD, BW, DQ, VL > +%assign cpuflags_avx512icl (1<<25)| cpuflags_avx512 > + > +%assign cpuflags_cache32 (1<<21) > +%assign cpuflags_cache64 (1<<22) > +%assign cpuflags_aligned (1<<23) ; not a cpu feature, but a function variant > +%assign cpuflags_atom (1<<24) > > ; Returns a boolean value expressing whether or not the specified cpuflag is > enabled. > %define cpuflag(x) (((((cpuflags & (cpuflags_ %+ x)) ^ (cpuflags_ %+ x)) - > 1) >> 31) & 1) > diff --git a/tests/checkasm/checkasm.c b/tests/checkasm/checkasm.c index > f74125e810..e77b4ec20f 100644 > --- a/tests/checkasm/checkasm.c > +++ b/tests/checkasm/checkasm.c > @@ -220,23 +220,24 @@ static const struct { > { "MMI", "mmi", AV_CPU_FLAG_MMI }, > { "MSA", "msa", AV_CPU_FLAG_MSA }, > #elif ARCH_X86 > - { "MMX", "mmx", AV_CPU_FLAG_MMX|AV_CPU_FLAG_CMOV }, > - { "MMXEXT", "mmxext", AV_CPU_FLAG_MMXEXT }, > - { "3DNOW", "3dnow", AV_CPU_FLAG_3DNOW }, > - { "3DNOWEXT", "3dnowext", AV_CPU_FLAG_3DNOWEXT }, > - { "SSE", "sse", AV_CPU_FLAG_SSE }, > - { "SSE2", "sse2", AV_CPU_FLAG_SSE2|AV_CPU_FLAG_SSE2SLOW }, > - { "SSE3", "sse3", AV_CPU_FLAG_SSE3|AV_CPU_FLAG_SSE3SLOW }, > - { "SSSE3", "ssse3", AV_CPU_FLAG_SSSE3|AV_CPU_FLAG_ATOM }, > - { "SSE4.1", "sse4", AV_CPU_FLAG_SSE4 }, > - { "SSE4.2", "sse42", AV_CPU_FLAG_SSE42 }, > - { "AES-NI", "aesni", AV_CPU_FLAG_AESNI }, > - { "AVX", "avx", AV_CPU_FLAG_AVX }, > - { "XOP", "xop", AV_CPU_FLAG_XOP }, > - { "FMA3", "fma3", AV_CPU_FLAG_FMA3 }, > - { "FMA4", "fma4", AV_CPU_FLAG_FMA4 }, > - { "AVX2", "avx2", AV_CPU_FLAG_AVX2 }, > - { "AVX-512", "avx512", AV_CPU_FLAG_AVX512 }, > + { "MMX", "mmx", AV_CPU_FLAG_MMX|AV_CPU_FLAG_CMOV }, > + { "MMXEXT", "mmxext", AV_CPU_FLAG_MMXEXT }, > + { "3DNOW", "3dnow", AV_CPU_FLAG_3DNOW }, > + { "3DNOWEXT", "3dnowext", AV_CPU_FLAG_3DNOWEXT }, > + { "SSE", "sse", AV_CPU_FLAG_SSE }, > + { "SSE2", "sse2", AV_CPU_FLAG_SSE2|AV_CPU_FLAG_SSE2SLOW }, > + { "SSE3", "sse3", AV_CPU_FLAG_SSE3|AV_CPU_FLAG_SSE3SLOW }, > + { "SSSE3", "ssse3", AV_CPU_FLAG_SSSE3|AV_CPU_FLAG_ATOM }, > + { "SSE4.1", "sse4", AV_CPU_FLAG_SSE4 }, > + { "SSE4.2", "sse42", AV_CPU_FLAG_SSE42 }, > + { "AES-NI", "aesni", AV_CPU_FLAG_AESNI }, > + { "AVX", "avx", AV_CPU_FLAG_AVX }, > + { "XOP", "xop", AV_CPU_FLAG_XOP }, > + { "FMA3", "fma3", AV_CPU_FLAG_FMA3 }, > + { "FMA4", "fma4", AV_CPU_FLAG_FMA4 }, > + { "AVX2", "avx2", AV_CPU_FLAG_AVX2 }, > + { "AVX-512", "avx512", AV_CPU_FLAG_AVX512 }, > + { "AVX-512ICL", "avx512icl", AV_CPU_FLAG_AVX512ICL }, > #elif ARCH_LOONGARCH > { "LSX", "lsx", AV_CPU_FLAG_LSX }, > { "LASX", "lasx", AV_CPU_FLAG_LASX }, > -- > 2.17.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".