From patchwork Tue Mar 28 10:53:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Martin_Storsj=C3=B6?= X-Patchwork-Id: 40885 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:7a30:b0:df:834d:2c1a with SMTP id t48csp2072157pzh; Tue, 28 Mar 2023 03:54:00 -0700 (PDT) X-Google-Smtp-Source: AKy350ajRz/3Wr6ZOGbhrVTh+41ZaYSfB/Sp/dEOk7uojcGurnhqkiDvnphWZrMmcFW8f9q6KsOX X-Received: by 2002:a17:906:b349:b0:931:91a:fa4f with SMTP id cd9-20020a170906b34900b00931091afa4fmr17590969ejb.41.1680000840257; Tue, 28 Mar 2023 03:54:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680000840; cv=none; d=google.com; s=arc-20160816; b=iB9kJyI7yQqR5O7dUaCC0tg2WksmYqhAy3ANEqtKsQHrgNP0XjiN/lNqnzyEfYLjNx f/Tn9gr6ZXSkIGS/sm4u76w0jwGhgfTVtQ5SnEElEAHX5dDVoYG5IlJG6B+5d15GnHkc orA8FfQpjkT3T5Zv4Y3Gapwyk9ld5f4IVf3IR6E+hAIXOSisSF0EKlZ0MnDBwWukBzuw hbseKXtHRAPQiZ6MOEmQpxNPdVrdHuI8GgmMPOFqdjOO/O530Jc8+r/PSZlHrHYojQOr EUH2vnWWn09RELIQyj9SH2jJdCWp+zkvNl7t/jfAkM8Yu3YYvUFL9a8NZ+47f/XL/cB7 n5sQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=pL0zX4PfprcZtlMOBMgPbWhDwLN52AqxlLRkixXkAAk=; b=q1FSAZ7SkqfS8NkfcatAQMPpZZU0furuZPIvUQqabGpRGJVY2NlHygFEtquHgxS15/ 29M2j+ui8rNb6otmJo+mLzxwrMpFBHzB9K/phf96W3FmOolS6GXDT6UWXybl2qvY0IWQ P1XD9y4HiLxNWAPeCX7QGDRU4L/Kyl+si8Zta37R8bL00BJmcflwmERySGXTfbyVbm+8 BQOJZ6KO1ah5xGIA1mtDc1NvFqMjkTNv8/fLaSxhKqDcP7+tgBJI2AvDk6mDQh3wMQBd 7sfjhzK+NnZpcxhxhmVqXGMSKUSjcjSsKmSZCC57DSIRbLl1UHeYnd2BhxYYTzYL48zl R2hw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@martin-st.20210112.gappssmtp.com header.s=20210112 header.b=YULPBneB; 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 jg10-20020a170907970a00b009334769adc2si32032489ejc.457.2023.03.28.03.53.59; Tue, 28 Mar 2023 03:54:00 -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=@martin-st.20210112.gappssmtp.com header.s=20210112 header.b=YULPBneB; 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 E623468CAB5; Tue, 28 Mar 2023 13:53:55 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf1-f41.google.com (mail-lf1-f41.google.com [209.85.167.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4A5B668CA39 for ; Tue, 28 Mar 2023 13:53:49 +0300 (EEST) Received: by mail-lf1-f41.google.com with SMTP id y15so15226709lfa.7 for ; Tue, 28 Mar 2023 03:53:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=martin-st.20210112.gappssmtp.com; s=20210112; t=1680000828; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=toaxNNwR0kfg2+XuFavi8cbJKYX6y9R8YiYSn4HbZDY=; b=YULPBneBFSd6TIzFp2ITm8OgaPJEVfn0MfPHl+B2FvNkbVztMkUCd+0uyyLePHN7v2 mE1LdwA1K1W4eMbX0EA/TGewb+NveDaflYrmG7hr7jEQHnZ1aT/u/qRAgDd62iFE0jTr mDS0qJlOcng3i9dGvTpEA9BA1ND6SJak4MUxt7uUdxQi9JKFhuHx9YhNfwQMX1OvrLcM UtMDhrqQEj7IMSAWS6CrPayKGbViXXhKp9NGjWrGjNX2IVckNGQhMgTtgIr6eblAP6Xx XJEJ/kL0/L6AKlPlpHbE6C6fe689O82Ic4y1ZlsQDxnF5WKIdITjjGCi29R/G8zZ1e96 Pnyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680000828; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=toaxNNwR0kfg2+XuFavi8cbJKYX6y9R8YiYSn4HbZDY=; b=rWdO3HkuSnWbAELg74ttI/vRFOmKQXm2bkd39Dfd5RaazD28eD/iUWuDXduhBi5414 jK/uAwdtGtXFN8mwhWwkNb+9fFleAt6LntggB/GgsQhG4OB1RHSQIQRtvDAshOxsqMbZ ymFjhPyyyYGyZa3+cfK6u9TBMy8iDdj25ULz37+4aM4qdiTtBw/DMob+o4FEzZU+ingS GFuHy02RJiRNKlYHzF+uwMdzhXGXp3jL7ilUk7DYMo9IlW8wjghgyk/9DmiBNY6dgIZO bbulxcEWTYDg53dGybimXa6s+wa0tfWmTP556P/aB5Eont6jO0PMkvbQTyCNUnhqyx7K BNWQ== X-Gm-Message-State: AAQBX9eth9+0jQft1qJsHThYq/M0gYeb2i2mEZUwoQK9Gl8I0P9LXqCx M4sH6z7ds35qX6M901LGTJjiiueWys5UnH9e+Wj88Q== X-Received: by 2002:ac2:51ad:0:b0:4eb:c18:efae with SMTP id f13-20020ac251ad000000b004eb0c18efaemr3043978lfk.17.1680000828042; Tue, 28 Mar 2023 03:53:48 -0700 (PDT) Received: from localhost (dsl-tkubng21-58c01c-243.dhcp.inet.fi. [88.192.28.243]) by smtp.gmail.com with ESMTPSA id f21-20020ac25335000000b004d86808fd33sm5083073lfh.15.2023.03.28.03.53.47 for (version=TLS1 cipher=AES128-SHA bits=128/128); Tue, 28 Mar 2023 03:53:47 -0700 (PDT) From: =?utf-8?q?Martin_Storsj=C3=B6?= To: ffmpeg-devel@ffmpeg.org Date: Tue, 28 Mar 2023 13:53:47 +0300 Message-Id: <20230328105347.93335-1-martin@martin.st> X-Mailer: git-send-email 2.37.1 (Apple Git-137.1) MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] get_cabac_inline_x86: Don't inline the assembly function on 32 bit 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: ogu+1Ig/MTxZ From: Christopher Degawa While the inline cabac assembly has worked correctly in i386 builds historically, modern compiler updates has started showing issues with it, when the function gets inlined into larger contexts that fail to provide the amount of free registers as this function requires. This was an issue with Clang on Windows on i386, which was fixed in c6d284b945324a7bc70ea8b9056040c8148aa835. However, recently the same issues also have started showing up with GCC (both for Windows and Linux). Whether the issue appears seems dependent on a lot of optimizer tuning (e.g. the issue appears or goes away depenent on the combinaton of -march= and -mtune= options), potentially due to the compiler making different decisions on how much to inline. Fixes: https://trac.ffmpeg.org/ticket/8903 Signed-off-by: Martin Storsjö --- libavcodec/x86/cabac.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/x86/cabac.h b/libavcodec/x86/cabac.h index b046a56a6b..ce2aefcbac 100644 --- a/libavcodec/x86/cabac.h +++ b/libavcodec/x86/cabac.h @@ -178,7 +178,7 @@ #if HAVE_7REGS && !BROKEN_COMPILER #define get_cabac_inline get_cabac_inline_x86 static -#if defined(_WIN32) && !defined(_WIN64) && defined(__clang__) +#if ARCH_X86_32 av_noinline #else av_always_inline