aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2025-01-13 03:39:58 +0000
committerSam James <sam@gentoo.org>2025-01-13 03:39:58 +0000
commita4f03b7491ffd0fdab5df8d89c96ea3ba8b17838 (patch)
tree68e72590b0916195070fa88bf434b2d981b0f194
parent15.0.0: add parallel build patch for D (diff)
downloadgcc-patches-a4f03b7491ffd0fdab5df8d89c96ea3ba8b17838.tar.gz
gcc-patches-a4f03b7491ffd0fdab5df8d89c96ea3ba8b17838.tar.bz2
gcc-patches-a4f03b7491ffd0fdab5df8d89c96ea3ba8b17838.zip
15.0.0: add ML link to ifcombine patch
Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--15.0.0/gentoo/82_all_PR118409-ifcombine.patch24
1 files changed, 16 insertions, 8 deletions
diff --git a/15.0.0/gentoo/82_all_PR118409-ifcombine.patch b/15.0.0/gentoo/82_all_PR118409-ifcombine.patch
index e599f21..6362cd1 100644
--- a/15.0.0/gentoo/82_all_PR118409-ifcombine.patch
+++ b/15.0.0/gentoo/82_all_PR118409-ifcombine.patch
@@ -1,8 +1,10 @@
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118409#c26
-
-[ifcombine] propagate signbit mask to XOR right-hand operand
+https://inbox.sourceware.org/gcc-patches/ored17gz9x.fsf@lxoliva.fsfla.org/
+From bfb791ad941348a0bb854b770f2294424528bc40 Mon Sep 17 00:00:00 2001
+Message-ID: <bfb791ad941348a0bb854b770f2294424528bc40.1736739564.git.sam@gentoo.org>
From: Alexandre Oliva <oliva@adacore.com>
+Date: Mon, 13 Jan 2025 00:37:14 -0300
+Subject: [PATCH] propagate signbit mask to XOR right-hand operand
If a single-bit bitfield takes up the sign bit of a storage unit,
comparing the corresponding bitfield between two objects loads the
@@ -19,6 +21,7 @@ the right-hand operand when both were taken from the same XOR.
This patch fixes that.
+Regstrapped on x86_64-linux-gnu. Ok to install?
for gcc/ChangeLog
@@ -28,16 +31,16 @@ for gcc/ChangeLog
for gcc/testsuite/ChangeLog
- PR tree-optimization/118409
+PR tree-optimization/118409
* gcc.dg/field-merge-20.c: New.
---
- gcc/gimple-fold.cc | 20 ++++++++++
- gcc/testsuite/gcc.dg/field-merge-20.c | 64 +++++++++++++++++++++++++++++++++
+ gcc/gimple-fold.cc | 20 +++++++++
+ gcc/testsuite/gcc.dg/field-merge-20.c | 64 +++++++++++++++++++++++++++
2 files changed, 84 insertions(+)
create mode 100644 gcc/testsuite/gcc.dg/field-merge-20.c
diff --git a/gcc/gimple-fold.cc b/gcc/gimple-fold.cc
-index a3987c4590ae6..93ed8b3abb056 100644
+index a3987c4590ae..93ed8b3abb05 100644
--- a/gcc/gimple-fold.cc
+++ b/gcc/gimple-fold.cc
@@ -8270,6 +8270,16 @@ fold_truth_andor_for_ifcombine (enum tree_code code, tree truth_type,
@@ -76,7 +79,7 @@ index a3987c4590ae6..93ed8b3abb056 100644
/* If either comparison code is not correct for our logical operation,
diff --git a/gcc/testsuite/gcc.dg/field-merge-20.c b/gcc/testsuite/gcc.dg/field-merge-20.c
new file mode 100644
-index 0000000000000..44ac7fae50dc5
+index 000000000000..44ac7fae50dc
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/field-merge-20.c
@@ -0,0 +1,64 @@
@@ -144,3 +147,8 @@ index 0000000000000..44ac7fae50dc5
+ __builtin_abort();
+ return 0;
+}
+
+base-commit: 0e05b793fba2a9bea9f0fbb1f068679f5dadf514
+--
+2.48.0
+