From patchwork Mon Aug 5 13:39:16 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Darnley X-Patchwork-Id: 14249 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 9D7DF44A286 for ; Mon, 5 Aug 2019 16:47:31 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 83C4268AA9A; Mon, 5 Aug 2019 16:47:31 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9322568A742 for ; Mon, 5 Aug 2019 16:47:25 +0300 (EEST) Received: by mail-ed1-f43.google.com with SMTP id w13so78771410eds.4 for ; Mon, 05 Aug 2019 06:47:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=obe-tv.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=DsmOtsfzGGHBMCiHuXMaZ7Uy8ePkOkfXn6m4dt2NwG0=; b=P8RzjkyAI85HA88nMx0zgXflsjp1tT3MnmWOOsQoyZK/vV1H2ul5UK2XLLOnywJpgJ YNR02qN3fizFc2o9NvGGp3k+Zs8iNAxS4VQEun4QHjMYVttrByZJYkq65LnkqRzMeL/z Ci5qwjqE9rp+ifNAvGxX9ttVwNuY25/D7qzABOdDEZ5i2FEn7NrdiJnvJLfM091t/6NW +w03beCQR9hlKmbH+//m5rg3DVvkq6Otw3oyXaBFttDuKt+LjNNdqEIzwpTGapnLJ2sn zliaxG1Fhj7jO5lZ9XiDlRLvcYTsoMYr36X6W03uggXdL8wqPebM3qP6jUIsKAx5Dxtv bZZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=DsmOtsfzGGHBMCiHuXMaZ7Uy8ePkOkfXn6m4dt2NwG0=; b=iZWevailG98F9gpd4DdjHRvcM01YuIvZEMrLK9ogmOfz9uLZW/qDrackrCugKWTxCw QxJpsrl7pCZTbNEWx0NicBF53DObqFEklPka6C9GjLAh/ENlPAwSMtsoYb/TZ/ITCwDH Oa+nxnqoNBZrZmrhIBfrCP/j/r+8OcBxZKiyO716cA0eUSB26JDSmmwiBNeoBgI3+4Ao qqSYXaYE2ewsCo3iMSHoE8B+fZGxkuSEHpbK2/Gfd93znwOFBXflrg4JetxFmEv0iI1L yt+vR8eiDFJwHffqWRGX+rD676VTVxCViOcl3V6jPNDkK2xP4jljUtuDHurXQeppD/u0 OIRg== X-Gm-Message-State: APjAAAXoF10/dmWDDdwLbD4v7HGzyjA7stgcfZau9jEkv66Fzu9Vg82n feguGwRdKsOlKELTiMzz23gEGXaa+i0= X-Google-Smtp-Source: APXvYqztPDPgeWvITGUjfPiVUdMDNScjIqVW8nOpaqVkgRHQ4N/dQCtUUjbclMzB98KIPPxms+imlw== X-Received: by 2002:a17:906:e0cd:: with SMTP id gl13mr116932776ejb.52.1565012369610; Mon, 05 Aug 2019 06:39:29 -0700 (PDT) Received: from Ramuh.systemlords.lan (ptr-7sz70r2zkpm35z8cnil.18120a2.ip6.access.telenet.be. [2a02:1811:41e:dc00:d926:c42d:226a:860d]) by smtp.gmail.com with ESMTPSA id 17sm20152675edu.21.2019.08.05.06.39.28 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Mon, 05 Aug 2019 06:39:29 -0700 (PDT) From: James Darnley To: ffmpeg-devel@ffmpeg.org Date: Mon, 5 Aug 2019 15:39:16 +0200 Message-Id: <20190805133916.3349-8-jdarnley@obe.tv> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190805133916.3349-1-jdarnley@obe.tv> References: <20190805133916.3349-1-jdarnley@obe.tv> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 7/7] x86inc: Add support for GFNI instructions X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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 Cc: Henrik Gramner Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Henrik Gramner --- libavutil/x86/x86inc.asm | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm index d1b4c982fc..8c8cc97e0c 100644 --- a/libavutil/x86/x86inc.asm +++ b/libavutil/x86/x86inc.asm @@ -820,19 +820,20 @@ BRANCH_INSTR jz, je, jnz, jne, jl, jle, jnl, jnle, jg, jge, jng, jnge, ja, jae, %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_gfni (1<<13)| cpuflags_sse42 +%assign cpuflags_avx (1<<14)| cpuflags_sse42 +%assign cpuflags_xop (1<<15)| cpuflags_avx +%assign cpuflags_fma4 (1<<16)| cpuflags_avx +%assign cpuflags_fma3 (1<<17)| cpuflags_avx +%assign cpuflags_bmi1 (1<<18)| cpuflags_avx|cpuflags_lzcnt +%assign cpuflags_bmi2 (1<<19)| cpuflags_bmi1 +%assign cpuflags_avx2 (1<<20)| cpuflags_fma3|cpuflags_bmi2 +%assign cpuflags_avx512 (1<<21)| cpuflags_avx2 ; F, CD, BW, DQ, VL + +%assign cpuflags_cache32 (1<<22) +%assign cpuflags_cache64 (1<<23) +%assign cpuflags_aligned (1<<24) ; not a cpu feature, but a function variant +%assign cpuflags_atom (1<<25) ; Returns a boolean value expressing whether or not the specified cpuflag is enabled. %define cpuflag(x) (((((cpuflags & (cpuflags_ %+ x)) ^ (cpuflags_ %+ x)) - 1) >> 31) & 1) @@ -1418,6 +1419,9 @@ AVX_INSTR divss, sse, 1, 0, 0 AVX_INSTR dppd, sse4, 1, 1, 0 AVX_INSTR dpps, sse4, 1, 1, 0 AVX_INSTR extractps, sse4, 1 +AVX_INSTR gf2p8affineinvqb, gfni, 0, 1, 0 +AVX_INSTR gf2p8affineqb, gfni, 0, 1, 0 +AVX_INSTR gf2p8mulb, gfni, 0, 0, 0 AVX_INSTR haddpd, sse3, 1, 0, 0 AVX_INSTR haddps, sse3, 1, 0, 0 AVX_INSTR hsubpd, sse3, 1, 0, 0