From patchwork Thu Jun 8 23:05:01 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Darnley X-Patchwork-Id: 3878 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.10.2 with SMTP id 2csp3084027vsk; Thu, 8 Jun 2017 16:13:45 -0700 (PDT) X-Received: by 10.28.203.65 with SMTP id b62mr5130459wmg.9.1496963624953; Thu, 08 Jun 2017 16:13:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1496963624; cv=none; d=google.com; s=arc-20160816; b=Y0CPT3Z00SwnvBsneLPfYNWw0Sb4iHq/YJvUzSvBaFEXAOr38HWWueRxR1xyrSpwyh /Su4mpsSB98BPC27DkmozXEo5eelHw4lnKievDlRBk+B9KcHJ6ewepjUMsM4XL+0yPCh 4YYyIRYr63j/vRsIOJq1cHM3qlenDObQT8a0D5tkFziaFIYx+ZsL3/sRA5ibswr/A+Zz VQYFz/6apKMNMNNvNhmKGudSJ9aWvu6g58ownTBRUjtun7YNk4V7xxhX4g+IXH6vmD/y fTY6SVQR+Yerqg3iuvB+CHHZzh/Jem4miZk2f9+gBXbPvIIC0RQvQ5zxZfsph4pXe5f4 0ESw== 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:cc: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=LeVRqc6lgZvYJk5UqAmij7db/GXNA68nWUGd2t//ljc=; b=IwYdtlUBU0jIPR1755IHno6gWuYcHEpbjYc36/+lcn2/U/BMhOVGaz9sutIfK+a/nN Udfh3x4wvCca4NH+5RMaaZKWHPZNPz226df0O3D3Van814z1jHrvIl3usNfetYcjINI/ Q8FLPKPgMXP+6VrUtXzaJ84mJxJnsiqVwAVGIpjXeahTb6UE5yGmdF7iMXGktH1MdbfV AKnkPvNbXxL59L5kYPN9oulL0eEjIsLFXbHz5mIq3I83nbJF90tlPuKKCT7DktpEkdRc aUf1EClZKPcXf5Mdmjz9FhC9ocTgcBbyxJNemV35H4Y7g8b73Zyi/buxh40IEOq3KhN0 MxYg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@ob-encoder-com.20150623.gappssmtp.com; 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 d9si116092wme.19.2017.06.08.16.13.44; Thu, 08 Jun 2017 16:13:44 -0700 (PDT) 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=@ob-encoder-com.20150623.gappssmtp.com; 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 C936A689D4A; Fri, 9 Jun 2017 02:13:41 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr0-f194.google.com (mail-wr0-f194.google.com [209.85.128.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3EAF9688300 for ; Fri, 9 Jun 2017 02:13:35 +0300 (EEST) Received: by mail-wr0-f194.google.com with SMTP id u101so5009619wrc.1 for ; Thu, 08 Jun 2017 16:13:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ob-encoder-com.20150623.gappssmtp.com; s=20150623; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=0oK+WuAvzPVL9G1X5pd66IyXNmLMKinyvMD6z3aAQ58=; b=e+2FgKn3Iw5kqQRESzeC/zHU+TkMXzvtMhjAuPx652ONGWLXqmqW/vDSe/TqTFfQKn DKs5o7kxXc8YD1BgGtVAJ/3shPye0MS6bhdfgtu6xoYCvZy5Jj9pNWOiJGDCFMRi+Qrb mYNrS+rQ7DP2pr2aYOesfbV7pt1lJP9GVlkuHSbLiBHiRDb1YAvzVbiwrNg85BuN9fJS nWSeadOEvMJ547WSXQChPhMcALPbKISTVaRhIgohpcGo8aZoHz8Nbhn0FicoYU3nL4V/ Ci1iH0jMQUkcR7UX1rm6C90N3mB5SKh7QeTJNhnJw820c9HE++FOUeWLfFfL0NfRZ+jo 0ZDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=0oK+WuAvzPVL9G1X5pd66IyXNmLMKinyvMD6z3aAQ58=; b=qio3kbZtD8hrfQrFzoaroArY5YwXf8TS4NdyxCWPhMbSQpaf2y11kRQbxAyrWAtVzs EADnN1tG8uCH8Tto81fLfyrXeYmUy8xnqwMuPqg+ZpBIBJP8GcfcbKYl75MVNezztLwF IYpvtvjINCbC4ZQCUjRcpSNX7Vy3s0BCZ5N6LKV9sealX9lrJctWy+t6ZGmd5zoPX/Mb axA87xOXLC7qHI8bF3xz0gNXGRwMLdHnRtNW66+TKcmTzpV0zXcf5LLH/kN68Q2kBZYL wij/Yc/1+oZ1PORgJmWbzjDGu5A3AaXHdKxqvqOlWlCvGT15ZTr7HPmb+rIUP3e0jPRW ZETQ== X-Gm-Message-State: AODbwcDpWT3M6J6cLeRLQLyNkBN1jOAcWiXcSyuwdKBc27liUk73koLw vDMMpYf1dd9hUC0/Blc= X-Received: by 10.223.176.9 with SMTP id f9mr26224063wra.106.1496963165337; Thu, 08 Jun 2017 16:06:05 -0700 (PDT) Received: from Highwind.systemlords.lan (d51A44418.access.telenet.be. [81.164.68.24]) by smtp.gmail.com with ESMTPSA id v62sm82057wmv.15.2017.06.08.16.06.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 08 Jun 2017 16:06:04 -0700 (PDT) From: James Darnley To: FFmpeg development discussions and patches Date: Fri, 9 Jun 2017 01:05:01 +0200 Message-Id: <20170608230502.29258-5-jdarnley@obe.tv> X-Mailer: git-send-email 2.13.0 In-Reply-To: <20170608230502.29258-1-jdarnley@obe.tv> References: <20170608230502.29258-1-jdarnley@obe.tv> Subject: [FFmpeg-devel] [PATCH 4/5] x86inc: Remove argument from WIN64_RESTORE_XMM 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: Anton Mitrofanov MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Anton Mitrofanov The use of rsp was pretty much hardcoded there and probably didn't work otherwise with stack_size > 0. --- libavutil/x86/x86inc.asm | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm index 65853f72cd..2a13ca957e 100644 --- a/libavutil/x86/x86inc.asm +++ b/libavutil/x86/x86inc.asm @@ -475,41 +475,42 @@ DECLARE_REG 14, R13, 120 WIN64_PUSH_XMM %endmacro -%macro WIN64_RESTORE_XMM_INTERNAL 1 +%macro WIN64_RESTORE_XMM_INTERNAL 0 %assign %%pad_size 0 %if xmm_regs_used > 8 %assign %%i xmm_regs_used %rep xmm_regs_used-8 %assign %%i %%i-1 - movaps xmm %+ %%i, [%1 + (%%i-8)*16 + stack_size + 32] + movaps xmm %+ %%i, [rsp + (%%i-8)*16 + stack_size + 32] %endrep %endif %if stack_size_padded > 0 %if stack_size > 0 && required_stack_alignment > STACK_ALIGNMENT mov rsp, rstkm %else - add %1, stack_size_padded + add rsp, stack_size_padded %assign %%pad_size stack_size_padded %endif %endif %if xmm_regs_used > 7 - movaps xmm7, [%1 + stack_offset - %%pad_size + 24] + movaps xmm7, [rsp + stack_offset - %%pad_size + 24] %endif %if xmm_regs_used > 6 - movaps xmm6, [%1 + stack_offset - %%pad_size + 8] + movaps xmm6, [rsp + stack_offset - %%pad_size + 8] %endif %endmacro -%macro WIN64_RESTORE_XMM 1 - WIN64_RESTORE_XMM_INTERNAL %1 +%macro WIN64_RESTORE_XMM 0 + WIN64_RESTORE_XMM_INTERNAL %assign stack_offset (stack_offset-stack_size_padded) + %assign stack_size_padded 0 %assign xmm_regs_used 0 %endmacro %define has_epilogue regs_used > 7 || xmm_regs_used > 6 || mmsize == 32 || stack_size > 0 %macro RET 0 - WIN64_RESTORE_XMM_INTERNAL rsp + WIN64_RESTORE_XMM_INTERNAL POP_IF_USED 14, 13, 12, 11, 10, 9, 8, 7 %if mmsize == 32 vzeroupper @@ -625,7 +626,7 @@ DECLARE_ARG 7, 8, 9, 10, 11, 12, 13, 14 %if WIN64 == 0 %macro WIN64_SPILL_XMM 1 %endmacro - %macro WIN64_RESTORE_XMM 1 + %macro WIN64_RESTORE_XMM 0 %endmacro %macro WIN64_PUSH_XMM 0 %endmacro