commit:     26118e917fcb919778bc5634c6cd8072ff23c4f6
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Aug  1 14:39:41 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Aug  1 14:39:41 2024 +0000
URL:        https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=26118e91

15.0.0: drop 79_all_PR116120-revert-match-pattern.patch

Part of it is fixed and the other part should be committed soon.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../79_all_PR116120-revert-match-pattern.patch     | 199 ---------------------
 15.0.0/gentoo/README.history                       |   4 +
 2 files changed, 4 insertions(+), 199 deletions(-)

diff --git a/15.0.0/gentoo/79_all_PR116120-revert-match-pattern.patch 
b/15.0.0/gentoo/79_all_PR116120-revert-match-pattern.patch
deleted file mode 100644
index 6d5b542..0000000
--- a/15.0.0/gentoo/79_all_PR116120-revert-match-pattern.patch
+++ /dev/null
@@ -1,199 +0,0 @@
-From fd07aecb306c682e1d7255fc01c6c02f3ca4f6f8 Mon Sep 17 00:00:00 2001
-Message-ID: 
<fd07aecb306c682e1d7255fc01c6c02f3ca4f6f8.1722209590.git....@gentoo.org>
-From: Sam James <[email protected]>
-Date: Mon, 29 Jul 2024 00:32:52 +0100
-Subject: [PATCH] Revert "MATCH: Simplify (a ? x : y) eq/ne (b ? x : y)
- [PR111150]"
-
-This reverts commit 44fcc1ca11e7ea35dc9fb25a5317346bc1eaf7b2.
-
-Avoid a reported & debugged miscompilation until it gets fixed.
-
-Bug: https://gcc.gnu.org/PR116120
----
- gcc/match.pd                               | 15 -----
- gcc/testsuite/g++.dg/tree-ssa/pr111150.C   | 34 ----------
- gcc/testsuite/gcc.dg/tree-ssa/pr111150-1.c | 72 ----------------------
- gcc/testsuite/gcc.dg/tree-ssa/pr111150.c   | 22 -------
- 4 files changed, 143 deletions(-)
- delete mode 100644 gcc/testsuite/g++.dg/tree-ssa/pr111150.C
- delete mode 100644 gcc/testsuite/gcc.dg/tree-ssa/pr111150-1.c
- delete mode 100644 gcc/testsuite/gcc.dg/tree-ssa/pr111150.c
-
-diff --git a/gcc/match.pd b/gcc/match.pd
-index 1c8601229e3d..b8d0ebee08db 100644
---- a/gcc/match.pd
-+++ b/gcc/match.pd
-@@ -5632,21 +5632,6 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
-   (vec_cond (bit_and (bit_not @0) @1) @2 @3)))
- #endif
- 
--/* (a ? x : y) != (b ? x : y) --> (a^b) ? TRUE  : FALSE */
--/* (a ? x : y) == (b ? x : y) --> (a^b) ? FALSE : TRUE  */
--/* (a ? x : y) != (b ? y : x) --> (a^b) ? FALSE : TRUE  */
--/* (a ? x : y) == (b ? y : x) --> (a^b) ? TRUE  : FALSE */
--(for cnd (cond vec_cond)
-- (for eqne (eq ne)
--  (simplify
--   (eqne:c (cnd @0 @1 @2) (cnd @3 @1 @2))
--    (cnd (bit_xor @0 @3) { constant_boolean_node (eqne == NE_EXPR, type); }
--     { constant_boolean_node (eqne != NE_EXPR, type); }))
--  (simplify
--   (eqne:c (cnd @0 @1 @2) (cnd @3 @2 @1))
--    (cnd (bit_xor @0 @3) { constant_boolean_node (eqne != NE_EXPR, type); }
--     { constant_boolean_node (eqne == NE_EXPR, type); }))))
--
- /* Canonicalize mask ? { 0, ... } : { -1, ...} to ~mask if the mask
-    types are compatible.  */
- (simplify
-diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr111150.C 
b/gcc/testsuite/g++.dg/tree-ssa/pr111150.C
-deleted file mode 100644
-index ac5d3ef15d83..000000000000
---- a/gcc/testsuite/g++.dg/tree-ssa/pr111150.C
-+++ /dev/null
-@@ -1,34 +0,0 @@
--/* PR tree-optimization/111150 */
--/* { dg-do compile } */
--/* { dg-options "-O1 -fdump-tree-forwprop1 -Wno-psabi" } */
--
--typedef int v4si __attribute((__vector_size__(4 * sizeof(int))));
--
--/* Before the patch, VEC_COND_EXPR was generated for each statement in the
--   function. This resulted in 3 VEC_COND_EXPR. */
--v4si f1_(v4si a, v4si b, v4si c, v4si d, v4si e, v4si f) {
--  v4si X = a == b ? e : f;
--  v4si Y = c == d ? e : f;
--  return (X != Y);
--}
--
--v4si f2_(v4si a, v4si b, v4si c, v4si d, v4si e, v4si f) {
--  v4si X = a == b ? e : f;
--  v4si Y = c == d ? e : f;
--  return (X == Y);
--}
--
--v4si f3_(v4si a, v4si b, v4si c, v4si d, v4si e, v4si f) {
--  v4si X = a == b ? e : f;
--  v4si Y = c == d ? f : e;
--  return (X != Y);
--}
--
--v4si f4_(v4si a, v4si b, v4si c, v4si d, v4si e, v4si f) {
--  v4si X = a == b ? e : f;
--  v4si Y = c == d ? f : e;
--  return (X == Y);
--}
--
--/* For each testcase, should produce only one VEC_COND_EXPR for X^Y. */
--/* { dg-final { scan-tree-dump-times " VEC_COND_EXPR " 4 "forwprop1" } } */
-diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr111150-1.c 
b/gcc/testsuite/gcc.dg/tree-ssa/pr111150-1.c
-deleted file mode 100644
-index 6f4b21ac6bcb..000000000000
---- a/gcc/testsuite/gcc.dg/tree-ssa/pr111150-1.c
-+++ /dev/null
-@@ -1,72 +0,0 @@
--/* PR tree-optimization/111150 */
--/* { dg-do compile } */
--/* { dg-options "-O1 -fgimple -fdump-tree-forwprop1-raw" } */
--
--/* Checks if pattern (X ? e : f) == (Y ? e : f) gets optimized. */
--__GIMPLE()
--_Bool f1_(int a, int b, int c, int d, int e, int f) {
--  _Bool X;
--  _Bool Y;
--  _Bool t;
--  int t1;
--  int t2;
--  X = a == b;
--  Y = c == d;
--  /* Before the patch cond_expr was generated for these 2 statements. */
--  t1 = X ? e : f;
--  t2 = Y ? e : f;
--  t = t1 == t2;
--  return t;
--}
--
--/* Checks if pattern (X ? e : f) != (Y ? e : f) gets optimized. */
--__GIMPLE()
--_Bool f2_(int a, int b, int c, int d, int e, int f) {
--  _Bool X;
--  _Bool Y;
--  _Bool t;
--  int t1;
--  int t2;
--  X = a == b;
--  Y = c == d;
--  t1 = X ? e : f;
--  t2 = Y ? e : f;
--  t = t1 != t2;
--  return t;
--}
--
--/* Checks if pattern (X ? e : f) == (Y ? f : e) gets optimized. */
--__GIMPLE()
--_Bool f3_(int a, int b, int c, int d, int e, int f) {
--  _Bool X;
--  _Bool Y;
--  _Bool t;
--  int t1;
--  int t2;
--  X = a == b;
--  Y = c == d;
--  t1 = X ? e : f;
--  t2 = Y ? f : e;
--  t = t1 == t2;
--  return t;
--}
--
--/* Checks if pattern (X ? e : f) != (Y ? f : e) gets optimized. */
--__GIMPLE()
--_Bool f4_(int a, int b, int c, int d, int e, int f) {
--  _Bool X;
--  _Bool Y;
--  _Bool t;
--  int t1;
--  int t2;
--  X = a == b;
--  Y = c == d;
--  t1 = X ? e : f;
--  t2 = Y ? f : e;
--  t = t1 != t2;
--  return t;
--}
--
--/* Should generate one bit_xor_expr for each testcase. */
--/* { dg-final { scan-tree-dump-not "cond_expr, "  "forwprop1" } } */
--/* { dg-final { scan-tree-dump-times "bit_xor_expr, " 4 "forwprop1" } } */
-diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr111150.c 
b/gcc/testsuite/gcc.dg/tree-ssa/pr111150.c
-deleted file mode 100644
-index 568ae9e44b3d..000000000000
---- a/gcc/testsuite/gcc.dg/tree-ssa/pr111150.c
-+++ /dev/null
-@@ -1,22 +0,0 @@
--/* PR tree-optimization/111150 */
--/* { dg-do compile } */
--/* { dg-options "-O1 -fdump-tree-forwprop1 -Wno-psabi" } */
--
--typedef int v4si __attribute((__vector_size__(4 * sizeof(int))));
--
--/* Before the patch, VEC_COND_EXPR was generated for each statement in the
--   function. This resulted in 3 VEC_COND_EXPR. */
--v4si f1_(v4si a, v4si b, v4si c, v4si d) {
--  v4si X = a == b;
--  v4si Y = c == d;
--  return (X != Y);
--}
--
--v4si f2_(v4si a, v4si b, v4si c, v4si d) {
--  v4si X = a == b;
--  v4si Y = c == d;
--  return (X == Y);
--}
--
--/* For each testcase, should produce only one VEC_COND_EXPR for X^Y. */
--/* { dg-final { scan-tree-dump-times " VEC_COND_EXPR " 2 "forwprop1" } } */
-
-base-commit: d5f1948640815a554d106542c2e91e4e117aa3bc
--- 
-2.45.2
-

diff --git a/15.0.0/gentoo/README.history b/15.0.0/gentoo/README.history
index 93de595..793fd45 100644
--- a/15.0.0/gentoo/README.history
+++ b/15.0.0/gentoo/README.history
@@ -1,3 +1,7 @@
+8      ????
+
+       - 79_all_PR116120-revert-match-pattern.patch
+
 7      29 July 2024
 
        + 79_all_PR116120-revert-match-pattern.patch

Reply via email to