commit:     3334eb199f61b84566232cf91bfa4ccc0629b607
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 10 12:33:52 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jul 10 12:33:52 2025 +0000
URL:        https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=3334eb19

16.0.0: drop Blender patch

It's changed a few times and received a nack on ML.

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

 16.0.0/gentoo/85_all_PR121015-blender.patch | 249 ----------------------------
 16.0.0/gentoo/README.history                |   1 -
 2 files changed, 250 deletions(-)

diff --git a/16.0.0/gentoo/85_all_PR121015-blender.patch 
b/16.0.0/gentoo/85_all_PR121015-blender.patch
deleted file mode 100644
index 383589c..0000000
--- a/16.0.0/gentoo/85_all_PR121015-blender.patch
+++ /dev/null
@@ -1,249 +0,0 @@
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121015#c5
-
-From 9f7e70f5e1172650653e13554d984ec9d7e50298 Mon Sep 17 00:00:00 2001
-From: "H.J. Lu" <[email protected]>
-Date: Thu, 10 Jul 2025 06:21:58 +0800
-Subject: [PATCH] x86: Handle integer all 1s vectors in mmx.md
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-commit 77473a27bae04da99d6979d43e7bd0a8106f4557
-Author: H.J. Lu <[email protected]>
-Date:   Thu Jun 26 06:08:51 2025 +0800
-
-    x86: Also handle all 1s float vector constant
-
-replaces
-
-(insn 29 28 30 5 (set (reg:V2SF 107)
-        (mem/u/c:V2SF (symbol_ref/u:DI ("*.LC0") [flags 0x2]) [0  S8 A64])) 
2031 {*movv2sf_internal}
-     (expr_list:REG_EQUAL (const_vector:V2SF [
-                (const_double:SF -QNaN [-QNaN]) repeated x2
-            ])
-        (nil)))
-
-with
-
-(insn 98 13 14 3 (set (reg:V8QI 112)
-        (const_vector:V8QI [
-                (const_int -1 [0xffffffffffffffff]) repeated x8
-            ])) -1
-     (nil))
-...
-(insn 29 28 30 5 (set (reg:V2SF 107)
-        (subreg:V2SF (reg:V8QI 112) 0)) 2031 {*movv2sf_internal}
-     (expr_list:REG_EQUAL (const_vector:V2SF [
-                (const_double:SF -QNaN [-QNaN]) repeated x2
-            ])
-        (nil)))
-
-which leads to
-
-pr121015.c: In function ‘render_result_from_bake_h’:
-pr121015.c:34:1: error: unrecognizable insn:
-   34 | }
-      | ^
-(insn 98 13 14 3 (set (reg:V8QI 112)
-        (const_vector:V8QI [
-                (const_int -1 [0xffffffffffffffff]) repeated x8
-            ])) -1
-     (expr_list:REG_EQUIV (const_vector:V8QI [
-                (const_int -1 [0xffffffffffffffff]) repeated x8
-            ])
-        (nil)))
-during RTL pass: ira
-
-1. Update constm1_operand to also return true for integer and float all
-1s vectors.
-2. Add nonimm_or_0_or_m1_operand for nonimmediate, zero or -1 operand.
-3. Add BI for constant all 0s/1s operand.
-4. Update "*mov<mode>_internal" in mmx.md to handle integer all 1s vectors.
-5. Update MMXMODE move splitter to also split all 1s source operand.
-
-gcc/
-
-       PR target/121015
-       * config/i386/constraints.md (BI): New constraint.
-       * config/i386/i386.cc (ix86_print_operand): Support CONSTM1_RTX.
-       * config/i386/mmx.md (*mov<mode>_internal): Replace C with BI
-       memory and integer register destination.
-       Update MMXMODE move splitter to also split all 1s source operand.
-       * config/i386/predicates.md (constm1_operand): Also return true
-       for int_float_vector_all_ones_operand.
-       (nonimm_or_0_or_m1_operand): New predicate.
-
-gcc/testsuite/
-
-       PR target/121015
-       * gcc.target/i386/pr121015.c: New test.
-
-Signed-off-by: H.J. Lu <[email protected]>
----
- gcc/config/i386/constraints.md           |  5 ++++
- gcc/config/i386/i386.cc                  |  7 ++++--
- gcc/config/i386/mmx.md                   |  8 +++---
- gcc/config/i386/predicates.md            | 26 +++++++++++--------
- gcc/testsuite/gcc.target/i386/pr121015.c | 32 ++++++++++++++++++++++++
- 5 files changed, 62 insertions(+), 16 deletions(-)
- create mode 100644 gcc/testsuite/gcc.target/i386/pr121015.c
-
-diff --git a/gcc/config/i386/constraints.md b/gcc/config/i386/constraints.md
-index 38877a7e61b..b436893bce4 100644
---- a/gcc/config/i386/constraints.md
-+++ b/gcc/config/i386/constraints.md
-@@ -173,6 +173,7 @@ (define_register_constraint "YW"
- ;;  H  Integer SSE constant that is 128/256bit all ones
- ;;     and zero-extand to 256/512bit, or 128bit all ones
- ;;     and zero-extend to 512bit.
-+;;  I  Integer vector constant with all 0s/1s operand.
- ;;  M  x86-64 memory operand.
- 
- (define_constraint "Bf"
-@@ -237,6 +238,10 @@ (define_constraint "BH"
-   (ior (match_operand 0 "vector_all_ones_zero_extend_half_operand")
-        (match_operand 0 "vector_all_ones_zero_extend_quarter_operand")))
- 
-+(define_constraint "BI"
-+  "@internal constant all 0s/1s operand."
-+  (match_operand 0 "const0_or_m1_operand"))
-+
- ;; NB: Similar to 'm', but don't use define_memory_constraint on x86-64
- ;; to prevent LRA from converting the operand to the form '(mem (reg X))'
- ;; where X is a base register.
-diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc
-index ad7360ec71a..6c7cc7c15f2 100644
---- a/gcc/config/i386/i386.cc
-+++ b/gcc/config/i386/i386.cc
-@@ -14671,9 +14671,12 @@ ix86_print_operand (FILE *file, rtx x, int code)
-        since we can in fact encode that into an immediate.  */
-       if (GET_CODE (x) == CONST_VECTOR)
-       {
--        if (x != CONST0_RTX (GET_MODE (x)))
-+        if (x == CONST0_RTX (GET_MODE (x)))
-+          x = const0_rtx;
-+        else if (x == CONSTM1_RTX (GET_MODE (x)))
-+          x = constm1_rtx;
-+        else
-           output_operand_lossage ("invalid vector immediate");
--        x = const0_rtx;
-       }
- 
-       if (code == 'P')
-diff --git a/gcc/config/i386/mmx.md b/gcc/config/i386/mmx.md
-index 79202323e53..d9020ef3da6 100644
---- a/gcc/config/i386/mmx.md
-+++ b/gcc/config/i386/mmx.md
-@@ -183,9 +183,9 @@ (define_expand "mov<mode>"
- 
- (define_insn "*mov<mode>_internal"
-   [(set (match_operand:MMXMODE 0 "nonimmediate_operand"
--    "=r ,o ,r,r ,m ,?!y,!y,?!y,m  ,r  ,?!y,v,v,v,m,r,v,!y,*x")
--      (match_operand:MMXMODE 1 "nonimm_or_0_operand"
--    "rCo,rC,C,rm,rC,C  ,!y,m  ,?!y,?!y,r  ,C,v,m,v,v,r,*x,!y"))]
-+    "=r  ,o  ,r ,r ,m  ,?!y,!y,?!y,m  ,r  ,?!y,v,v,v,m,r,v,!y,*x")
-+      (match_operand:MMXMODE 1 "nonimm_or_0_or_m1_operand"
-+    "rBIo,rBI,BI,rm,rBI,C  ,!y,m  ,?!y,?!y,r  ,C,v,m,v,v,r,*x,!y"))]
-   "(TARGET_MMX || TARGET_MMX_WITH_SSE)
-    && !(MEM_P (operands[0]) && MEM_P (operands[1]))
-    && ix86_hardreg_mov_ok (operands[0], operands[1])"
-@@ -313,7 +313,7 @@ (define_split
- 
- (define_split
-   [(set (match_operand:MMXMODE 0 "nonimmediate_gr_operand")
--      (match_operand:MMXMODE 1 "const0_operand"))]
-+      (match_operand:MMXMODE 1 "const0_or_m1_operand"))]
-   "!TARGET_64BIT && reload_completed"
-   [(const_int 0)]
-   "ix86_split_long_move (operands); DONE;")
-diff --git a/gcc/config/i386/predicates.md b/gcc/config/i386/predicates.md
-index 3afaf83a7a0..7def9b89b48 100644
---- a/gcc/config/i386/predicates.md
-+++ b/gcc/config/i386/predicates.md
-@@ -833,16 +833,6 @@ (define_predicate "const1_operand"
-   return op == CONST1_RTX (mode);
- })
- 
--;; Match exactly -1.
--(define_predicate "constm1_operand"
--  (and (match_code "const_int")
--       (match_test "op == constm1_rtx")))
--
--;; Match 0 or -1.
--(define_predicate "const0_or_m1_operand"
--  (ior (match_operand 0 "const0_operand")
--       (match_operand 0 "constm1_operand")))
--
- ;; Match exactly eight.
- (define_predicate "const8_operand"
-   (and (match_code "const_int")
-@@ -1218,6 +1208,17 @@ (define_predicate "int_float_vector_all_ones_operand"
-        (match_operand 0 "float_vector_all_ones_operand")
-        (match_test "op == constm1_rtx")))
- 
-+;; Match exactly -1.
-+(define_predicate "constm1_operand"
-+  (ior (and (match_code "const_int")
-+            (match_test "op == constm1_rtx"))
-+       (match_operand 0 "int_float_vector_all_ones_operand")))
-+
-+;; Match 0 or -1.
-+(define_predicate "const0_or_m1_operand"
-+  (ior (match_operand 0 "const0_operand")
-+       (match_operand 0 "constm1_operand")))
-+
- /* Return true if operand is an 128/256bit all ones vector
-    that zero-extends to 256/512bit.  */
- (define_predicate "vector_all_ones_zero_extend_half_operand"
-@@ -1359,6 +1360,11 @@ (define_predicate "nonimm_or_0_operand"
-   (ior (match_operand 0 "nonimmediate_operand")
-        (match_operand 0 "const0_operand")))
- 
-+; Return true when OP is a nonimmediate, zero or -1.
-+(define_predicate "nonimm_or_0_or_m1_operand"
-+  (ior (match_operand 0 "nonimmediate_operand")
-+       (match_operand 0 "const0_or_m1_operand")))
-+
- ; Return true when OP is a nonimmediate or zero or all ones.
- (define_predicate "nonimm_or_0_or_1s_operand"
-   (ior (match_operand 0 "nonimmediate_operand")
-diff --git a/gcc/testsuite/gcc.target/i386/pr121015.c 
b/gcc/testsuite/gcc.target/i386/pr121015.c
-new file mode 100644
-index 00000000000..57c8bff14ef
---- /dev/null
-+++ b/gcc/testsuite/gcc.target/i386/pr121015.c
-@@ -0,0 +1,32 @@
-+/* { dg-do compile } */
-+/* { dg-options "-O2 -march=x86-64-v3" } */
-+
-+extern union {
-+  int i;
-+  float f;
-+} int_as_float_u;
-+
-+extern int render_result_from_bake_w;
-+extern int render_result_from_bake_h_seed_pass;
-+extern float *render_result_from_bake_h_primitive;
-+extern float *render_result_from_bake_h_seed;
-+
-+float
-+int_as_float(int i)
-+{
-+  int_as_float_u.i = i;
-+  return int_as_float_u.f;
-+}
-+
-+void
-+render_result_from_bake_h(int tx)
-+{
-+  while (render_result_from_bake_w) {
-+    for (; tx < render_result_from_bake_w; tx++)
-+      render_result_from_bake_h_primitive[1] =
-+          render_result_from_bake_h_primitive[2] = int_as_float(-1);
-+    if (render_result_from_bake_h_seed_pass) {
-+      *render_result_from_bake_h_seed = 0;
-+    }
-+  }
-+}
--- 
-2.50.0

diff --git a/16.0.0/gentoo/README.history b/16.0.0/gentoo/README.history
index caee4e9..48846cc 100644
--- a/16.0.0/gentoo/README.history
+++ b/16.0.0/gentoo/README.history
@@ -2,7 +2,6 @@
 
        - 
85_all_PR120929-Revert-Use-the-counted_by-attribute-of-pointers-in-a.patch
        - 
86_all_PR120929-Revert-Use-the-counted_by-attribute-of-pointers-in-b.patch
-       + 85_all_PR121015-blender.patch
 
 5      6 July 2025
 

Reply via email to