From patchwork Thu Jan 18 23:06:11 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Henrik Gramner X-Patchwork-Id: 7337 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.156.27 with SMTP id q27csp114154jak; Thu, 18 Jan 2018 15:13:45 -0800 (PST) X-Google-Smtp-Source: ACJfBot04O4m8C/G8c+FIsrSJiZl5m40HJlYmxnsT4uwZDSvbKNMuuOi5tnB52ewHjqNTzXgIJwR X-Received: by 10.223.164.22 with SMTP id d22mr7439600wra.186.1516317225595; Thu, 18 Jan 2018 15:13:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516317225; cv=none; d=google.com; s=arc-20160816; b=S9KitiJ87Vjg58TbA8DJAjp5mef790fXB0y1r8CEtEDA9XRiYS0VhcOZhTy2wLiZGv syZzKgmdB79+uYmJVkJjM+ZEXimiejy26MpwqPlf0j8Qg37hQEyXosReYlNn0fbzUJ5d OE0hz7svUVKxFXq60xxpumD7+4nOM3Bmzcx42aIBQpUdQwxkQPKvXRdrh/C8bCT1Cje6 Wp3a77tIIR+AL2B70jeDtwEPLKe0KiKESyCXBFqTn2qmAmhL9pwsG5cn8EuaN3aeibzK HD2JiLBNGZWfTJ/ifTZ24UxOSa4pLMGohrMjCDs+uJlllrvjCLMp6bBzQQYyMdeswdpM auvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to:arc-authentication-results; bh=NiU64ONUfcGgMGe2rrQN4A5qwGYIE6M1IcrFy/MnU1g=; b=lAKRgui1yvM1FC9/u3h7d9uTnPgsVAmN3vkYLFOs4YBiFuO2+CwfZBUiGJ2tC2t6l1 EuISHMKiNf/0Y95lyWgJzv5qPYHo541TXXNDPapAYR91lNqSpghqHEdnQQrPFXbjkeT3 Ya2qhg/wyZIt86imQRk9TVoIBuJHhaHjoolNiPjBHxbVFwynBmY3k0wfCeaAea626hX9 jeD707x7vNAQfsWw75N/VRkGM5e1017exNUyohLEJkE7UhqkE3JohcJ4eKM7t33QtHlU zvTYM2HF0RIG1qx5jeRb2/gNXIO8LJ2HENldBl+cP1ZIpyfdwteXWQE2JUTBkE8XLELX xoVQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gramner-com.20150623.gappssmtp.com header.s=20150623 header.b=0iglfHor; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id p64si6066982wmb.268.2018.01.18.15.13.45; Thu, 18 Jan 2018 15:13:45 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gramner-com.20150623.gappssmtp.com header.s=20150623 header.b=0iglfHor; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BC8B168A320; Fri, 19 Jan 2018 01:13:43 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf0-f67.google.com (mail-lf0-f67.google.com [209.85.215.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EA5D568A316 for ; Fri, 19 Jan 2018 01:13:36 +0200 (EET) Received: by mail-lf0-f67.google.com with SMTP id k19so8526948lfj.1 for ; Thu, 18 Jan 2018 15:13:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gramner-com.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:in-reply-to:references; bh=5KUn6yU8VQXpZJLo9cEIKczTDCHNu3MQYa02w8ESkJk=; b=0iglfHorSXegoyytU6qCmRz4nMsj6Ng4w1ddJFfnob6KrO8us68H9bNCo8MDKAEYBg rHm4F82mF5T6AO/W9kRefk3kWNZnVTSwXlr6XOMND0M54aGN0A4avK0PcUqsT3spsGLn uuD1oxYfgV0oJ0cVPomJJdEUxxZunE1HXaO97SoU9UsFIPfcdG4O5WCjkZBnWoypaN4i jLSfULnM0Z1sjYTynq+NajeqQUwRup7WDp4cHTzzL2+TD9Rt+vOi5JbXbHkWKEZCaBfs iVnBvdxvIF3JDv2GnXut9p+ol2n8v8VTKtbyGarrdkfyCZ/KFtJon5rAd4Di18cQxJ3Z 9BPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=5KUn6yU8VQXpZJLo9cEIKczTDCHNu3MQYa02w8ESkJk=; b=ll4RfxB8+bfGNSWomDIc6+JW/AHv4+DBLi0ZgvmkJgoWoPLBrprnpojzrMLzQGVrNQ w42Yzb+Y3TmM6b29NlnO0UK+xEu3iPmG8k3FE2VnnhNagYeP5or9e9u/o2S+9I3CrRn1 wCVaVylB2DVgZkMSakKfRfUKjG839siav/gco32FOvI8sjq7Py1JmdO4l5CKun85eAOY qQcnzAV4FnDGP7uq0ScJFmIRjO4PUW/DU2XVqs64KPpxy1iM6wtba8jyK/hoHrAW6oV0 LNCmz8ZBazRvWujAx11KIDjDOOK6p3giR1/R3yB543dbGWQ4kYjL8lyARIFJCCHucxZu chpw== X-Gm-Message-State: AKwxytcvGO5rTWz3PNQCfI2kTnaPLSgLHVsAqrF9N1E8tpivUTXhb9tA xqH4ExAKkkgOmb9EGogGw2rF64sG1eM= X-Received: by 10.25.17.20 with SMTP id g20mr15861703lfi.124.1516316807373; Thu, 18 Jan 2018 15:06:47 -0800 (PST) Received: from localhost.localdomain (81-227-53-67-no27.tbcn.telia.com. [81.227.53.67]) by smtp.gmail.com with ESMTPSA id 76sm1420130lfq.7.2018.01.18.15.06.45 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 18 Jan 2018 15:06:46 -0800 (PST) From: Henrik Gramner To: ffmpeg-devel@ffmpeg.org Date: Fri, 19 Jan 2018 00:06:11 +0100 Message-Id: <20180118230615.16966-2-henrik@gramner.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180118230615.16966-1-henrik@gramner.com> References: <20180118230615.16966-1-henrik@gramner.com> Subject: [FFmpeg-devel] [PATCH 1/5] x86inc: Enable AVX emulation for floating-point pseudo-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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" There are 32 pseudo-instructions for each floating-point comparison instruction, but only 8 of them are actually valid in legacy-encoded mode. The remaining 24 requires the use of VEX-encoded (v-prefixed) instructions and can therefore be disregarded for this purpose. --- libavutil/x86/x86inc.asm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm index 196374c348..3b43dbc2e0 100644 --- a/libavutil/x86/x86inc.asm +++ b/libavutil/x86/x86inc.asm @@ -1297,10 +1297,42 @@ AVX_INSTR blendpd, sse4, 1, 1, 0 AVX_INSTR blendps, sse4, 1, 1, 0 AVX_INSTR blendvpd, sse4 ; can't be emulated AVX_INSTR blendvps, sse4 ; can't be emulated +AVX_INSTR cmpeqpd, sse2, 1, 0, 1 +AVX_INSTR cmpeqps, sse, 1, 0, 1 +AVX_INSTR cmpeqsd, sse2, 1, 0, 0 +AVX_INSTR cmpeqss, sse, 1, 0, 0 +AVX_INSTR cmplepd, sse2, 1, 0, 0 +AVX_INSTR cmpleps, sse, 1, 0, 0 +AVX_INSTR cmplesd, sse2, 1, 0, 0 +AVX_INSTR cmpless, sse, 1, 0, 0 +AVX_INSTR cmpltpd, sse2, 1, 0, 0 +AVX_INSTR cmpltps, sse, 1, 0, 0 +AVX_INSTR cmpltsd, sse2, 1, 0, 0 +AVX_INSTR cmpltss, sse, 1, 0, 0 +AVX_INSTR cmpneqpd, sse2, 1, 0, 1 +AVX_INSTR cmpneqps, sse, 1, 0, 1 +AVX_INSTR cmpneqsd, sse2, 1, 0, 0 +AVX_INSTR cmpneqss, sse, 1, 0, 0 +AVX_INSTR cmpnlepd, sse2, 1, 0, 0 +AVX_INSTR cmpnleps, sse, 1, 0, 0 +AVX_INSTR cmpnlesd, sse2, 1, 0, 0 +AVX_INSTR cmpnless, sse, 1, 0, 0 +AVX_INSTR cmpnltpd, sse2, 1, 0, 0 +AVX_INSTR cmpnltps, sse, 1, 0, 0 +AVX_INSTR cmpnltsd, sse2, 1, 0, 0 +AVX_INSTR cmpnltss, sse, 1, 0, 0 +AVX_INSTR cmpordpd, sse2 1, 0, 1 +AVX_INSTR cmpordps, sse 1, 0, 1 +AVX_INSTR cmpordsd, sse2 1, 0, 0 +AVX_INSTR cmpordss, sse 1, 0, 0 AVX_INSTR cmppd, sse2, 1, 1, 0 AVX_INSTR cmpps, sse, 1, 1, 0 AVX_INSTR cmpsd, sse2, 1, 1, 0 AVX_INSTR cmpss, sse, 1, 1, 0 +AVX_INSTR cmpunordpd, sse2, 1, 0, 1 +AVX_INSTR cmpunordps, sse, 1, 0, 1 +AVX_INSTR cmpunordsd, sse2, 1, 0, 0 +AVX_INSTR cmpunordss, sse, 1, 0, 0 AVX_INSTR comisd, sse2 AVX_INSTR comiss, sse AVX_INSTR cvtdq2pd, sse2