From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <gentoo-commits+bounces-1731270-garchives=archives.gentoo.org@lists.gentoo.org> Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id C48DB1581EE for <garchives@archives.gentoo.org>; Tue, 25 Mar 2025 10:27:44 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id A8E3F343306 for <garchives@archives.gentoo.org>; Tue, 25 Mar 2025 10:27:44 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id B062E110296; Tue, 25 Mar 2025 10:27:43 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id A55D2110296 for <gentoo-commits@lists.gentoo.org>; Tue, 25 Mar 2025 10:27:43 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 57C2D343301 for <gentoo-commits@lists.gentoo.org>; Tue, 25 Mar 2025 10:27:43 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id C662E2035 for <gentoo-commits@lists.gentoo.org>; Tue, 25 Mar 2025 10:27:41 +0000 (UTC) From: "Sam James" <sam@gentoo.org> To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" <sam@gentoo.org> Message-ID: <1742898453.c2a595b9790a24dd84d6fb44ba99c6bb7dd1472b.sam@gentoo> Subject: [gentoo-commits] proj/gcc-patches:master commit in: 15.0.0/gentoo/ X-VCS-Repository: proj/gcc-patches X-VCS-Files: 15.0.0/gentoo/79_all_PR117811-arm-neon-shift.patch 15.0.0/gentoo/README.history X-VCS-Directories: 15.0.0/gentoo/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: c2a595b9790a24dd84d6fb44ba99c6bb7dd1472b X-VCS-Branch: master Date: Tue, 25 Mar 2025 10:27:41 +0000 (UTC) Precedence: bulk List-Post: <mailto:gentoo-commits@lists.gentoo.org> List-Help: <mailto:gentoo-commits+help@lists.gentoo.org> List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org> List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org> List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org> X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: c9014272-9b25-4a0c-b0f9-945c77173683 X-Archives-Hash: 9bd9c1c27a9287ff7ddd336ad861c1e3 commit: c2a595b9790a24dd84d6fb44ba99c6bb7dd1472b Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Tue Mar 25 10:27:33 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Tue Mar 25 10:27:33 2025 +0000 URL: https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=c2a595b9 15.0.0: drop 79_all_PR117811-arm-neon-shift.patch Merged upstream. Signed-off-by: Sam James <sam <AT> gentoo.org> 15.0.0/gentoo/79_all_PR117811-arm-neon-shift.patch | 162 --------------------- 15.0.0/gentoo/README.history | 1 + 2 files changed, 1 insertion(+), 162 deletions(-) diff --git a/15.0.0/gentoo/79_all_PR117811-arm-neon-shift.patch b/15.0.0/gentoo/79_all_PR117811-arm-neon-shift.patch deleted file mode 100644 index 5a78653..0000000 --- a/15.0.0/gentoo/79_all_PR117811-arm-neon-shift.patch +++ /dev/null @@ -1,162 +0,0 @@ -https://inbox.sourceware.org/gcc-patches/20250321094756.1044263-1-rearnsha@arm.com/ - -From db60414d7b3f596214547fc9a7c74fcb38248527 Mon Sep 17 00:00:00 2001 -Message-ID: <db60414d7b3f596214547fc9a7c74fcb38248527.1742577601.git.sam@gentoo.org> -From: Richard Earnshaw <rearnsha@arm.com> -Date: Fri, 21 Mar 2025 09:47:56 +0000 -Subject: [PATCH] opcodes: fix wrong code in expand_binop_directly [PR117811] - -If expand_binop_directly fails to add a REG_EQUAL note it tries to -unwind and restart. But it can unwind too far if expand_binop changed -some of the operands before calling it. We don't need to unwind that -far anyway since we should end up taking exactly the same route next -time, just without a target rtx. - -To fix this we remove LAST from the argument list and let the callers -(all in expand_binop) do their own unwinding if the call fails. -Instead we unwind just as far as the entry to expand_binop_directly -and recurse within this function instead of all the way back up. - -gcc/ChangeLog: - - PR middle-end/117811 - * optabs.cc (expand_binop_directly): Remove LAST as an argument, - instead record the last insn on entry. Only delete insns if - we need to restart and restart by calling ourself, not expand_binop. - (expand_binop): Update callers to expand_binop_directly. If it - fails to expand the operation, delete back to LAST. - -gcc/testsuite: - -PR middle-end/117811 - * gcc.dg/torture/pr117811.c: New test. ---- - gcc/optabs.cc | 24 +++++++++++----------- - gcc/testsuite/gcc.dg/torture/pr117811.c | 27 +++++++++++++++++++++++++ - 2 files changed, 39 insertions(+), 12 deletions(-) - create mode 100644 gcc/testsuite/gcc.dg/torture/pr117811.c - -diff --git a/gcc/optabs.cc b/gcc/optabs.cc -index 36f2e6af8b5c..0a14b1eef8a5 100644 ---- a/gcc/optabs.cc -+++ b/gcc/optabs.cc -@@ -1369,8 +1369,7 @@ avoid_expensive_constant (machine_mode mode, optab binoptab, - static rtx - expand_binop_directly (enum insn_code icode, machine_mode mode, optab binoptab, - rtx op0, rtx op1, -- rtx target, int unsignedp, enum optab_methods methods, -- rtx_insn *last) -+ rtx target, int unsignedp, enum optab_methods methods) - { - machine_mode xmode0 = insn_data[(int) icode].operand[1].mode; - machine_mode xmode1 = insn_data[(int) icode].operand[2].mode; -@@ -1380,6 +1379,7 @@ expand_binop_directly (enum insn_code icode, machine_mode mode, optab binoptab, - rtx_insn *pat; - rtx xop0 = op0, xop1 = op1; - bool canonicalize_op1 = false; -+ rtx_insn *last = get_last_insn (); - - /* If it is a commutative operator and the modes would match - if we would swap the operands, we can save the conversions. */ -@@ -1444,10 +1444,7 @@ expand_binop_directly (enum insn_code icode, machine_mode mode, optab binoptab, - tmp_mode = insn_data[(int) icode].operand[0].mode; - if (VECTOR_MODE_P (mode) - && maybe_ne (GET_MODE_NUNITS (tmp_mode), 2 * GET_MODE_NUNITS (mode))) -- { -- delete_insns_since (last); -- return NULL_RTX; -- } -+ return NULL_RTX; - } - else - tmp_mode = mode; -@@ -1467,14 +1464,14 @@ expand_binop_directly (enum insn_code icode, machine_mode mode, optab binoptab, - ops[1].value, ops[2].value, mode0)) - { - delete_insns_since (last); -- return expand_binop (mode, binoptab, op0, op1, NULL_RTX, -- unsignedp, methods); -+ return expand_binop_directly (icode, mode, binoptab, op0, op1, -+ NULL_RTX, unsignedp, methods); - } - - emit_insn (pat); - return ops[0].value; - } -- delete_insns_since (last); -+ - return NULL_RTX; - } - -@@ -1543,9 +1540,10 @@ expand_binop (machine_mode mode, optab binoptab, rtx op0, rtx op1, - if (icode != CODE_FOR_nothing) - { - temp = expand_binop_directly (icode, mode, binoptab, op0, op1, -- target, unsignedp, methods, last); -+ target, unsignedp, methods); - if (temp) - return temp; -+ delete_insns_since (last); - } - } - -@@ -1571,9 +1569,10 @@ expand_binop (machine_mode mode, optab binoptab, rtx op0, rtx op1, - NULL_RTX, unsignedp, OPTAB_DIRECT); - - temp = expand_binop_directly (icode, int_mode, otheroptab, op0, newop1, -- target, unsignedp, methods, last); -+ target, unsignedp, methods); - if (temp) - return temp; -+ delete_insns_since (last); - } - - /* If this is a multiply, see if we can do a widening operation that -@@ -1637,9 +1636,10 @@ expand_binop (machine_mode mode, optab binoptab, rtx op0, rtx op1, - if (vop1) - { - temp = expand_binop_directly (icode, mode, otheroptab, op0, vop1, -- target, unsignedp, methods, last); -+ target, unsignedp, methods); - if (temp) - return temp; -+ delete_insns_since (last); - } - } - } -diff --git a/gcc/testsuite/gcc.dg/torture/pr117811.c b/gcc/testsuite/gcc.dg/torture/pr117811.c -new file mode 100644 -index 000000000000..13d7e1347807 ---- /dev/null -+++ b/gcc/testsuite/gcc.dg/torture/pr117811.c -@@ -0,0 +1,27 @@ -+/* { dg-do run } */ -+ -+#include <string.h> -+ -+typedef int v4 __attribute__((vector_size (4 * sizeof (int)))); -+ -+void __attribute__((noclone,noinline)) do_shift (v4 *vec, int shift) -+{ -+ v4 t = *vec; -+ -+ if (shift > 0) -+ { -+ t = t >> shift; -+ } -+ -+ *vec = t; -+} -+ -+int main () -+{ -+ v4 vec = {0x1000000, 0x2000, 0x300, 0x40}; -+ v4 vec2 = {0x100000, 0x200, 0x30, 0x4}; -+ do_shift (&vec, 4); -+ if (memcmp (&vec, &vec2, sizeof (v4)) != 0) -+ __builtin_abort (); -+ return 0; -+} --- -2.49.0 - diff --git a/15.0.0/gentoo/README.history b/15.0.0/gentoo/README.history index 92b88c3..d822311 100644 --- a/15.0.0/gentoo/README.history +++ b/15.0.0/gentoo/README.history @@ -1,5 +1,6 @@ 49 ???? + - 79_all_PR117811-arm-neon-shift.patch + 80_all_PR119428.patch 48 24 March 2025