aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-01-08 08:10:06 +0000
committerSam James <sam@gentoo.org>2024-01-08 08:10:06 +0000
commit31de670a01566db841c795577bbdc3f2a5d35f21 (patch)
treefdb7493e1a8129deda6ca8d6f4846bd717b0a6d5
parent14.0.0: cut patchset 14 (diff)
downloadgcc-patches-31de670a01566db841c795577bbdc3f2a5d35f21.tar.gz
gcc-patches-31de670a01566db841c795577bbdc3f2a5d35f21.tar.bz2
gcc-patches-31de670a01566db841c795577bbdc3f2a5d35f21.zip
14.0.0: cut patchset 15
richi is back this week so this should be the last time we need to keep reverting these as the fixes are pending his review. Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--14.0.0/gentoo/75_all_Revert-middle-end-explicitly-initialize-vec_stmts-PR.patch6
-rw-r--r--14.0.0/gentoo/76_all_Revert-testsuite-un-xfail-TSVC-loops-that-check-for-.patch4
-rw-r--r--14.0.0/gentoo/77_all_Revert_arm_Add_Advanced_SIMD_cbranch_implementation.patch341
-rw-r--r--14.0.0/gentoo/78_all_Revert_testsuite_add_tests_for_early_break_vectorization.patch (renamed from 14.0.0/gentoo/77_all_Revert-testsuite-Add-tests-for-early-break-vectoriza.patch)14
-rw-r--r--14.0.0/gentoo/79_all_Revert_AArch64_add_implementation_for_vector_cbranch.patch (renamed from 14.0.0/gentoo/78_all_Revert-AArch64-Add-implementation-for-vector-cbranch.patch)6
-rw-r--r--14.0.0/gentoo/80_all_Revert_middle-end_support_vectorization_of_loops_with_mult.patch (renamed from 14.0.0/gentoo/79_all_Revert-middle-end-Support-vectorization-of-loops-wit.patch)20
-rw-r--r--14.0.0/gentoo/81_all_Revert-middle-end-prevent-LIM-from-hoising-vector-co.patch (renamed from 14.0.0/gentoo/80_all_Revert-middle-end-prevent-LIM-from-hoising-vector-co.patch)6
-rw-r--r--14.0.0/gentoo/82_all_testsuite_Add_more_pragma_novector_to_new_tests.patch (renamed from 14.0.0/gentoo/81_all_Revert-testsuite-Add-more-pragma-novector-to-new-tes.patch)4
-rw-r--r--14.0.0/gentoo/README.history11
9 files changed, 382 insertions, 30 deletions
diff --git a/14.0.0/gentoo/75_all_Revert-middle-end-explicitly-initialize-vec_stmts-PR.patch b/14.0.0/gentoo/75_all_Revert-middle-end-explicitly-initialize-vec_stmts-PR.patch
index b113f1e..93bf96b 100644
--- a/14.0.0/gentoo/75_all_Revert-middle-end-explicitly-initialize-vec_stmts-PR.patch
+++ b/14.0.0/gentoo/75_all_Revert-middle-end-explicitly-initialize-vec_stmts-PR.patch
@@ -1,7 +1,7 @@
-From a648fe2c0121414ac82926e9f8a70b33e347b930 Mon Sep 17 00:00:00 2001
+From 0d9351ff8ab23e79edc7a468a255a7c009695f21 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Mon, 25 Dec 2023 16:57:10 +0000
-Subject: [PATCH 1/7] Revert "middle-end: explicitly initialize vec_stmts
+Subject: [PATCH 1/8] Revert "middle-end: explicitly initialize vec_stmts
[PR113132]"
This reverts commit fd032cce216e003d58b2394f7e61b03dee27e81a.
@@ -15,7 +15,7 @@ Signed-off-by: Sam James <sam@gentoo.org>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/tree-vect-loop.cc b/gcc/tree-vect-loop.cc
-index f51ae3e719e7..88261a3a4f57 100644
+index a06771611ac8..2bd96b56006a 100644
--- a/gcc/tree-vect-loop.cc
+++ b/gcc/tree-vect-loop.cc
@@ -6207,7 +6207,7 @@ vect_create_epilog_for_reduction (loop_vec_info loop_vinfo,
diff --git a/14.0.0/gentoo/76_all_Revert-testsuite-un-xfail-TSVC-loops-that-check-for-.patch b/14.0.0/gentoo/76_all_Revert-testsuite-un-xfail-TSVC-loops-that-check-for-.patch
index 1e4b825..d22a7ae 100644
--- a/14.0.0/gentoo/76_all_Revert-testsuite-un-xfail-TSVC-loops-that-check-for-.patch
+++ b/14.0.0/gentoo/76_all_Revert-testsuite-un-xfail-TSVC-loops-that-check-for-.patch
@@ -1,7 +1,7 @@
-From 846bfbdd30d437e40e10ce8bcd896f263436dfc1 Mon Sep 17 00:00:00 2001
+From 21f952dd33ae6037ff1a18cfe1c52dcc9becce19 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Mon, 25 Dec 2023 16:57:12 +0000
-Subject: [PATCH 2/7] Revert "testsuite: un-xfail TSVC loops that check for
+Subject: [PATCH 2/8] Revert "testsuite: un-xfail TSVC loops that check for
exit control flow vectorization"
This reverts commit a657c7e3518fcfc796f223d47385cad5e97dc9a5.
diff --git a/14.0.0/gentoo/77_all_Revert_arm_Add_Advanced_SIMD_cbranch_implementation.patch b/14.0.0/gentoo/77_all_Revert_arm_Add_Advanced_SIMD_cbranch_implementation.patch
new file mode 100644
index 0000000..e284b9d
--- /dev/null
+++ b/14.0.0/gentoo/77_all_Revert_arm_Add_Advanced_SIMD_cbranch_implementation.patch
@@ -0,0 +1,341 @@
+From f7dfd5052edeaa7f433bc296fd3c8b9c5239edb3 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Mon, 8 Jan 2024 07:09:10 +0000
+Subject: [PATCH 3/8] Revert "arm: Add Advanced SIMD cbranch implementation"
+
+This reverts commit d9dd04f9f17e36854387899eb630c64a0c8d1a17.
+
+Bug: https://gcc.gnu.org/PR113135
+Bug: https://gcc.gnu.org/PR113136
+Bug: https://gcc.gnu.org/PR113137
+Signed-off-by: Sam James <sam@gentoo.org>
+---
+ gcc/config/arm/neon.md | 49 -------
+ .../gcc.dg/vect/vect-early-break_2.c | 2 +-
+ .../gcc.dg/vect/vect-early-break_7.c | 2 +-
+ .../gcc.dg/vect/vect-early-break_75.c | 2 +-
+ .../gcc.dg/vect/vect-early-break_77.c | 2 +-
+ .../gcc.dg/vect/vect-early-break_82.c | 2 +-
+ .../gcc.dg/vect/vect-early-break_88.c | 2 +-
+ .../gcc.target/arm/vect-early-break-cbranch.c | 138 ------------------
+ gcc/testsuite/lib/target-supports.exp | 7 -
+ 9 files changed, 6 insertions(+), 200 deletions(-)
+ delete mode 100644 gcc/testsuite/gcc.target/arm/vect-early-break-cbranch.c
+
+diff --git a/gcc/config/arm/neon.md b/gcc/config/arm/neon.md
+index bb6e28ff4e74..91ca7e804555 100644
+--- a/gcc/config/arm/neon.md
++++ b/gcc/config/arm/neon.md
+@@ -408,55 +408,6 @@ (define_insn "vec_extract<mode><V_elem_l>"
+ [(set_attr "type" "neon_store1_one_lane<q>,neon_to_gp<q>")]
+ )
+
+-;; Patterns comparing two vectors and conditionally jump.
+-;; Avdanced SIMD lacks a vector != comparison, but this is a quite common
+-;; operation. To not pay the penalty for inverting == we can map our any
+-;; comparisons to all i.e. any(~x) => all(x).
+-;;
+-;; However unlike the AArch64 version, we can't optimize this further as the
+-;; chain is too long for combine due to these being unspecs so it doesn't fold
+-;; the operation to something simpler.
+-(define_expand "cbranch<mode>4"
+- [(set (pc) (if_then_else
+- (match_operator 0 "expandable_comparison_operator"
+- [(match_operand:VDQI 1 "register_operand")
+- (match_operand:VDQI 2 "reg_or_zero_operand")])
+- (label_ref (match_operand 3 "" ""))
+- (pc)))]
+- "TARGET_NEON"
+-{
+- rtx mask = operands[1];
+-
+- /* If comparing against a non-zero vector we have to do a comparison first
+- so we can have a != 0 comparison with the result. */
+- if (operands[2] != CONST0_RTX (<MODE>mode))
+- {
+- mask = gen_reg_rtx (<MODE>mode);
+- emit_insn (gen_xor<mode>3 (mask, operands[1], operands[2]));
+- }
+-
+- /* For 128-bit vectors we need an additional reductions. */
+- if (known_eq (128, GET_MODE_BITSIZE (<MODE>mode)))
+- {
+- /* Always reduce using a V4SI. */
+- rtx op1 = lowpart_subreg (V4SImode, mask, <MODE>mode);
+- mask = gen_reg_rtx (V2SImode);
+- rtx low = gen_reg_rtx (V2SImode);
+- rtx high = gen_reg_rtx (V2SImode);
+- emit_insn (gen_neon_vget_lowv4si (low, op1));
+- emit_insn (gen_neon_vget_highv4si (high, op1));
+- emit_insn (gen_neon_vpumaxv2si (mask, low, high));
+- }
+-
+- rtx op1 = lowpart_subreg (V2SImode, mask, GET_MODE (mask));
+- emit_insn (gen_neon_vpumaxv2si (op1, op1, op1));
+-
+- rtx val = gen_reg_rtx (SImode);
+- emit_move_insn (val, gen_lowpart (SImode, mask));
+- emit_jump_insn (gen_cbranch_cc (operands[0], val, const0_rtx, operands[3]));
+- DONE;
+-})
+-
+ ;; This pattern is renamed from "vec_extract<mode><V_elem_l>" to
+ ;; "neon_vec_extract<mode><V_elem_l>" and this pattern is called
+ ;; by define_expand in vec-common.md file.
+diff --git a/gcc/testsuite/gcc.dg/vect/vect-early-break_2.c b/gcc/testsuite/gcc.dg/vect/vect-early-break_2.c
+index dec0b492ab88..5c32bf94409e 100644
+--- a/gcc/testsuite/gcc.dg/vect/vect-early-break_2.c
++++ b/gcc/testsuite/gcc.dg/vect/vect-early-break_2.c
+@@ -5,7 +5,7 @@
+
+ /* { dg-additional-options "-Ofast" } */
+
+-/* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" { target { ! "arm*-*-*" } } } } */
++/* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" } } */
+
+ #include <complex.h>
+
+diff --git a/gcc/testsuite/gcc.dg/vect/vect-early-break_7.c b/gcc/testsuite/gcc.dg/vect/vect-early-break_7.c
+index d218a0686719..8c86c5034d75 100644
+--- a/gcc/testsuite/gcc.dg/vect/vect-early-break_7.c
++++ b/gcc/testsuite/gcc.dg/vect/vect-early-break_7.c
+@@ -5,7 +5,7 @@
+
+ /* { dg-additional-options "-Ofast" } */
+
+-/* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" { target { ! "arm*-*-*" } } } } */
++/* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" } } */
+
+ #include <complex.h>
+
+diff --git a/gcc/testsuite/gcc.dg/vect/vect-early-break_75.c b/gcc/testsuite/gcc.dg/vect/vect-early-break_75.c
+index 9dcc3372acd6..ed27f8635730 100644
+--- a/gcc/testsuite/gcc.dg/vect/vect-early-break_75.c
++++ b/gcc/testsuite/gcc.dg/vect/vect-early-break_75.c
+@@ -3,7 +3,7 @@
+ /* { dg-require-effective-target vect_int } */
+
+ /* { dg-additional-options "-O3" } */
+-/* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" { target { ! "x86_64-*-* i?86-*-* arm*-*-*" } } } } */
++/* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" { target { ! "x86_64-*-* i?86-*-*" } } } } */
+
+ #include <limits.h>
+ #include <assert.h>
+diff --git a/gcc/testsuite/gcc.dg/vect/vect-early-break_77.c b/gcc/testsuite/gcc.dg/vect/vect-early-break_77.c
+index 9fa7e6948ebf..225106aab0a3 100644
+--- a/gcc/testsuite/gcc.dg/vect/vect-early-break_77.c
++++ b/gcc/testsuite/gcc.dg/vect/vect-early-break_77.c
+@@ -3,7 +3,7 @@
+ /* { dg-require-effective-target vect_int } */
+
+ /* { dg-additional-options "-O3" } */
+-/* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" { target { ! "arm*-*-*" } } } } */
++/* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" } } */
+
+ #include "tree-vect.h"
+
+diff --git a/gcc/testsuite/gcc.dg/vect/vect-early-break_82.c b/gcc/testsuite/gcc.dg/vect/vect-early-break_82.c
+index 7cd21d33485f..0e9b2d8d385c 100644
+--- a/gcc/testsuite/gcc.dg/vect/vect-early-break_82.c
++++ b/gcc/testsuite/gcc.dg/vect/vect-early-break_82.c
+@@ -5,7 +5,7 @@
+
+ /* { dg-additional-options "-Ofast" } */
+
+-/* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" { target { ! "arm*-*-*" } } } } */
++/* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" } } */
+
+ #include <complex.h>
+
+diff --git a/gcc/testsuite/gcc.dg/vect/vect-early-break_88.c b/gcc/testsuite/gcc.dg/vect/vect-early-break_88.c
+index 59ed57c5fb5f..b392dd465539 100644
+--- a/gcc/testsuite/gcc.dg/vect/vect-early-break_88.c
++++ b/gcc/testsuite/gcc.dg/vect/vect-early-break_88.c
+@@ -3,7 +3,7 @@
+ /* { dg-require-effective-target vect_int } */
+
+ /* { dg-additional-options "-Ofast --param vect-partial-vector-usage=2" } */
+-/* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" { target { ! "arm*-*-*" } } } } */
++/* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" } } */
+
+ #include "tree-vect.h"
+
+diff --git a/gcc/testsuite/gcc.target/arm/vect-early-break-cbranch.c b/gcc/testsuite/gcc.target/arm/vect-early-break-cbranch.c
+deleted file mode 100644
+index f57bbd8be428..000000000000
+--- a/gcc/testsuite/gcc.target/arm/vect-early-break-cbranch.c
++++ /dev/null
+@@ -1,138 +0,0 @@
+-/* { dg-do compile } */
+-/* { dg-require-effective-target vect_early_break } */
+-/* { dg-require-effective-target arm_neon_ok } */
+-/* { dg-require-effective-target arm32 } */
+-/* { dg-options "-O3 -march=armv8-a+simd -mfpu=auto -mfloat-abi=hard -fno-schedule-insns -fno-reorder-blocks -fno-schedule-insns2" } */
+-/* { dg-final { check-function-bodies "**" "" "" } } */
+-
+-#define N 640
+-int a[N] = {0};
+-int b[N] = {0};
+-
+-/*
+-** f1:
+-** ...
+-** vcgt.s32 q[0-9]+, q[0-9]+, #0
+-** vpmax.u32 d[0-9]+, d[0-9]+, d[0-9]+
+-** vpmax.u32 d[0-9]+, d[0-9]+, d[0-9]+
+-** vmov r[0-9]+, s[0-9]+ @ int
+-** cmp r[0-9]+, #0
+-** bne \.L[0-9]+
+-** ...
+-*/
+-void f1 ()
+-{
+- for (int i = 0; i < N; i++)
+- {
+- b[i] += a[i];
+- if (a[i] > 0)
+- break;
+- }
+-}
+-
+-/*
+-** f2:
+-** ...
+-** vcge.s32 q[0-9]+, q[0-9]+, #0
+-** vpmax.u32 d[0-9]+, d[0-9]+, d[0-9]+
+-** vpmax.u32 d[0-9]+, d[0-9]+, d[0-9]+
+-** vmov r[0-9]+, s[0-9]+ @ int
+-** cmp r[0-9]+, #0
+-** bne \.L[0-9]+
+-** ...
+-*/
+-void f2 ()
+-{
+- for (int i = 0; i < N; i++)
+- {
+- b[i] += a[i];
+- if (a[i] >= 0)
+- break;
+- }
+-}
+-
+-/*
+-** f3:
+-** ...
+-** vceq.i32 q[0-9]+, q[0-9]+, #0
+-** vpmax.u32 d[0-9]+, d[0-9]+, d[0-9]+
+-** vpmax.u32 d[0-9]+, d[0-9]+, d[0-9]+
+-** vmov r[0-9]+, s[0-9]+ @ int
+-** cmp r[0-9]+, #0
+-** bne \.L[0-9]+
+-** ...
+-*/
+-void f3 ()
+-{
+- for (int i = 0; i < N; i++)
+- {
+- b[i] += a[i];
+- if (a[i] == 0)
+- break;
+- }
+-}
+-
+-/*
+-** f4:
+-** ...
+-** vceq.i32 q[0-9]+, q[0-9]+, #0
+-** vmvn q[0-9]+, q[0-9]+
+-** vpmax.u32 d[0-9]+, d[0-9]+, d[0-9]+
+-** vpmax.u32 d[0-9]+, d[0-9]+, d[0-9]+
+-** vmov r[0-9]+, s[0-9]+ @ int
+-** cmp r[0-9]+, #0
+-** bne \.L[0-9]+
+-** ...
+-*/
+-void f4 ()
+-{
+- for (int i = 0; i < N; i++)
+- {
+- b[i] += a[i];
+- if (a[i] != 0)
+- break;
+- }
+-}
+-
+-/*
+-** f5:
+-** ...
+-** vclt.s32 q[0-9]+, q[0-9]+, #0
+-** vpmax.u32 d[0-9]+, d[0-9]+, d[0-9]+
+-** vpmax.u32 d[0-9]+, d[0-9]+, d[0-9]+
+-** vmov r[0-9]+, s[0-9]+ @ int
+-** cmp r[0-9]+, #0
+-** bne \.L[0-9]+
+-** ...
+-*/
+-void f5 ()
+-{
+- for (int i = 0; i < N; i++)
+- {
+- b[i] += a[i];
+- if (a[i] < 0)
+- break;
+- }
+-}
+-
+-/*
+-** f6:
+-** ...
+-** vcle.s32 q[0-9]+, q[0-9]+, #0
+-** vpmax.u32 d[0-9]+, d[0-9]+, d[0-9]+
+-** vpmax.u32 d[0-9]+, d[0-9]+, d[0-9]+
+-** vmov r[0-9]+, s[0-9]+ @ int
+-** cmp r[0-9]+, #0
+-** bne \.L[0-9]+
+-** ...
+-*/
+-void f6 ()
+-{
+- for (int i = 0; i < N; i++)
+- {
+- b[i] += a[i];
+- if (a[i] <= 0)
+- break;
+- }
+-}
+-
+diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
+index b27c30b8c51b..d65953158651 100644
+--- a/gcc/testsuite/lib/target-supports.exp
++++ b/gcc/testsuite/lib/target-supports.exp
+@@ -4069,7 +4069,6 @@ proc check_effective_target_vect_early_break { } {
+ return [check_cached_effective_target_indexed vect_early_break {
+ expr {
+ [istarget aarch64*-*-*]
+- || [check_effective_target_arm_v8_neon_ok]
+ || [check_effective_target_sse4]
+ }}]
+ }
+@@ -4083,7 +4082,6 @@ proc check_effective_target_vect_early_break_hw { } {
+ return [check_cached_effective_target_indexed vect_early_break_hw {
+ expr {
+ [istarget aarch64*-*-*]
+- || [check_effective_target_arm_v8_neon_hw]
+ || [check_sse4_hw_available]
+ }}]
+ }
+@@ -4093,11 +4091,6 @@ proc add_options_for_vect_early_break { flags } {
+ return "$flags"
+ }
+
+- if { [check_effective_target_arm_v8_neon_ok] } {
+- global et_arm_v8_neon_flags
+- return "$flags $et_arm_v8_neon_flags -march=armv8-a"
+- }
+-
+ if { [check_effective_target_sse4] } {
+ return "$flags -msse4.1"
+ }
+--
+2.43.0
+
diff --git a/14.0.0/gentoo/77_all_Revert-testsuite-Add-tests-for-early-break-vectoriza.patch b/14.0.0/gentoo/78_all_Revert_testsuite_add_tests_for_early_break_vectorization.patch
index f4e6b84..6fbdd54 100644
--- a/14.0.0/gentoo/77_all_Revert-testsuite-Add-tests-for-early-break-vectoriza.patch
+++ b/14.0.0/gentoo/78_all_Revert_testsuite_add_tests_for_early_break_vectorization.patch
@@ -1,7 +1,7 @@
-From 3283ec82265c4bd51a2d113ebe44310169614650 Mon Sep 17 00:00:00 2001
+From 2fe83ac81d631810a520e5938224c5d10ffbc269 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Mon, 25 Dec 2023 16:57:13 +0000
-Subject: [PATCH 3/7] Revert "testsuite: Add tests for early break
+Subject: [PATCH 4/8] Revert "testsuite: Add tests for early break
vectorization"
This reverts commit c5232ec14937a34e599e9e386a5975fab9a5e283.
@@ -232,10 +232,10 @@ Signed-off-by: Sam James <sam@gentoo.org>
delete mode 100644 gcc/testsuite/gcc.dg/vect/vect-early-break_93.c
diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi
-index bd62b21f3b72..4be67daedb20 100644
+index 3a394e7739b6..35da6c11a5a9 100644
--- a/gcc/doc/sourcebuild.texi
+++ b/gcc/doc/sourcebuild.texi
-@@ -1636,14 +1636,6 @@ Target supports hardware vectors of @code{float} when
+@@ -1645,14 +1645,6 @@ Target supports hardware vectors of @code{float} when
@option{-funsafe-math-optimizations} is not in effect.
This implies @code{vect_float}.
@@ -250,7 +250,7 @@ index bd62b21f3b72..4be67daedb20 100644
@item vect_int
Target supports hardware vectors of @code{int}.
-@@ -3213,11 +3205,6 @@ instructions, if any.
+@@ -3222,11 +3214,6 @@ instructions, if any.
@item tls
Add the target-specific flags needed to use thread-local storage.
@@ -4902,10 +4902,10 @@ index 656a7788896d..000000000000
- return 0;
-}
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
-index 05fc417877bc..7f13ff0ca565 100644
+index d65953158651..dc8e0bc7c2bd 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
-@@ -4050,44 +4050,6 @@ proc check_effective_target_vect_int { } {
+@@ -4060,44 +4060,6 @@ proc check_effective_target_vect_int { } {
}}]
}
diff --git a/14.0.0/gentoo/78_all_Revert-AArch64-Add-implementation-for-vector-cbranch.patch b/14.0.0/gentoo/79_all_Revert_AArch64_add_implementation_for_vector_cbranch.patch
index 42a06f1..3a6aa30 100644
--- a/14.0.0/gentoo/78_all_Revert-AArch64-Add-implementation-for-vector-cbranch.patch
+++ b/14.0.0/gentoo/79_all_Revert_AArch64_add_implementation_for_vector_cbranch.patch
@@ -1,7 +1,7 @@
-From d85db7a7354005e99a143453e103f784614cef0e Mon Sep 17 00:00:00 2001
+From 31b1a8e79e86712d87ebe8de201636c8bd83a6be Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Mon, 25 Dec 2023 16:57:13 +0000
-Subject: [PATCH 4/7] Revert "AArch64: Add implementation for vector cbranch
+Subject: [PATCH 5/8] Revert "AArch64: Add implementation for vector cbranch
for Advanced SIMD"
This reverts commit 1bcc07aeb47c0ed7eb50eac8a4e057d6336669ab.
@@ -19,7 +19,7 @@ Signed-off-by: Sam James <sam@gentoo.org>
delete mode 100644 gcc/testsuite/gcc.target/aarch64/vect-early-break-cbranch.c
diff --git a/gcc/config/aarch64/aarch64-simd.md b/gcc/config/aarch64/aarch64-simd.md
-index f88b5bde254e..7c5fd4238357 100644
+index 3cd184f46fa9..8aa55c641e1c 100644
--- a/gcc/config/aarch64/aarch64-simd.md
+++ b/gcc/config/aarch64/aarch64-simd.md
@@ -3885,48 +3885,6 @@ (define_expand "vcond_mask_<mode><v_int_equiv>"
diff --git a/14.0.0/gentoo/79_all_Revert-middle-end-Support-vectorization-of-loops-wit.patch b/14.0.0/gentoo/80_all_Revert_middle-end_support_vectorization_of_loops_with_mult.patch
index 549472b..ac87127 100644
--- a/14.0.0/gentoo/79_all_Revert-middle-end-Support-vectorization-of-loops-wit.patch
+++ b/14.0.0/gentoo/80_all_Revert_middle-end_support_vectorization_of_loops_with_mult.patch
@@ -1,7 +1,7 @@
-From 3385d9b56e25b75a2e0fe3286b329b82b703362d Mon Sep 17 00:00:00 2001
+From 884068ec19c846246ab55b4820fd2badca329339 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Mon, 25 Dec 2023 16:57:14 +0000
-Subject: [PATCH 5/7] Revert "middle-end: Support vectorization of loops with
+Subject: [PATCH 6/8] Revert "middle-end: Support vectorization of loops with
multiple exits."
This reverts commit 01f4251b8775c832a92d55e2df57c9ac72eaceef.
@@ -22,7 +22,7 @@ Signed-off-by: Sam James <sam@gentoo.org>
8 files changed, 233 insertions(+), 1330 deletions(-)
diff --git a/gcc/tree-if-conv.cc b/gcc/tree-if-conv.cc
-index 9638d3cc869a..e169413bb44c 100644
+index 8e79362f96ab..bb87db382086 100644
--- a/gcc/tree-if-conv.cc
+++ b/gcc/tree-if-conv.cc
@@ -844,7 +844,7 @@ idx_within_array_bound (tree ref, tree *idx, void *dta)
@@ -35,7 +35,7 @@ index 9638d3cc869a..e169413bb44c 100644
{
class loop *loop = loop_containing_stmt (stmt);
diff --git a/gcc/tree-vect-data-refs.cc b/gcc/tree-vect-data-refs.cc
-index 3d9673fb0b58..d5c9c4a11c2e 100644
+index 752c34c26e9b..290303f198b5 100644
--- a/gcc/tree-vect-data-refs.cc
+++ b/gcc/tree-vect-data-refs.cc
@@ -613,238 +613,6 @@ vect_analyze_data_ref_dependence (struct data_dependence_relation *ddr,
@@ -290,7 +290,7 @@ index 3d9673fb0b58..d5c9c4a11c2e 100644
}
diff --git a/gcc/tree-vect-loop-manip.cc b/gcc/tree-vect-loop-manip.cc
-index 295e1c916874..bcd90a331f5a 100644
+index 9330183bfb9e..9182192710eb 100644
--- a/gcc/tree-vect-loop-manip.cc
+++ b/gcc/tree-vect-loop-manip.cc
@@ -448,20 +448,6 @@ vect_adjust_loop_lens_control (tree iv_type, gimple_seq *seq,
@@ -881,7 +881,7 @@ index 295e1c916874..bcd90a331f5a 100644
for (gsi = gsi_start_phis (merge_bb); !gsi_end_p (gsi);
diff --git a/gcc/tree-vect-loop.cc b/gcc/tree-vect-loop.cc
-index 88261a3a4f57..7a3db5f098ba 100644
+index 2bd96b56006a..5d5f57561741 100644
--- a/gcc/tree-vect-loop.cc
+++ b/gcc/tree-vect-loop.cc
@@ -1040,7 +1040,6 @@ _loop_vec_info::_loop_vec_info (class loop *loop_in, vec_info_shared *shared)
@@ -1577,7 +1577,7 @@ index 88261a3a4f57..7a3db5f098ba 100644
below. */
if (!loop_vinfo->slp_instances.is_empty ())
diff --git a/gcc/tree-vect-patterns.cc b/gcc/tree-vect-patterns.cc
-index 2053673debe9..696b70b76a82 100644
+index f1a95ef34b93..b0ceb1007bd4 100644
--- a/gcc/tree-vect-patterns.cc
+++ b/gcc/tree-vect-patterns.cc
@@ -132,7 +132,6 @@ vect_init_pattern_stmt (vec_info *vinfo, gimple *pattern_stmt,
@@ -1827,7 +1827,7 @@ index 2053673debe9..696b70b76a82 100644
if (STMT_VINFO_REDUC_IDX (orig_stmt_info_saved) != -1)
{
diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc
-index 1333d8934783..e9ff728dfd40 100644
+index bdbf08c9d298..267bb444c284 100644
--- a/gcc/tree-vect-stmts.cc
+++ b/gcc/tree-vect-stmts.cc
@@ -342,7 +342,6 @@ is_simple_and_all_uses_invariant (stmt_vec_info stmt_info,
@@ -2305,7 +2305,7 @@ index 1333d8934783..e9ff728dfd40 100644
scalar_type = TREE_TYPE (DR_REF (dr));
else if (gimple_call_internal_p (stmt, IFN_MASK_STORE))
diff --git a/gcc/tree-vectorizer.cc b/gcc/tree-vectorizer.cc
-index 8b495fc7ca13..d97e2b54c25a 100644
+index 9001b738bf31..8e34549b1775 100644
--- a/gcc/tree-vectorizer.cc
+++ b/gcc/tree-vectorizer.cc
@@ -1381,9 +1381,7 @@ pass_vectorize::execute (function *fun)
@@ -2320,7 +2320,7 @@ index 8b495fc7ca13..d97e2b54c25a 100644
edge entry = EDGE_PRED (loop_preheader_edge (loop)->src, 0);
do_rpo_vn (fun, entry, exit_bbs);
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h
-index 785fc99ca27a..1810833a324a 100644
+index db44d730b702..62c9818ee0dd 100644
--- a/gcc/tree-vectorizer.h
+++ b/gcc/tree-vectorizer.h
@@ -66,7 +66,6 @@ enum vect_def_type {
diff --git a/14.0.0/gentoo/80_all_Revert-middle-end-prevent-LIM-from-hoising-vector-co.patch b/14.0.0/gentoo/81_all_Revert-middle-end-prevent-LIM-from-hoising-vector-co.patch
index 2473ce4..42c1f15 100644
--- a/14.0.0/gentoo/80_all_Revert-middle-end-prevent-LIM-from-hoising-vector-co.patch
+++ b/14.0.0/gentoo/81_all_Revert-middle-end-prevent-LIM-from-hoising-vector-co.patch
@@ -1,7 +1,7 @@
-From eccc75285320e5c4a4c21ec48ac2ab8bf8ca3580 Mon Sep 17 00:00:00 2001
+From 596b268da13ffc54200075212eadba01ac73a847 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Mon, 25 Dec 2023 16:57:15 +0000
-Subject: [PATCH 6/7] Revert "middle-end: prevent LIM from hoising vector
+Subject: [PATCH 7/8] Revert "middle-end: prevent LIM from hoising vector
compares from gconds if target does not support it."
This reverts commit f1dcc0fe371e3cb10d2cbe3f6c88db6f72edddda.
@@ -15,7 +15,7 @@ Signed-off-by: Sam James <sam@gentoo.org>
1 file changed, 13 deletions(-)
diff --git a/gcc/tree-ssa-loop-im.cc b/gcc/tree-ssa-loop-im.cc
-index 2ebf6d6548c4..396963b6754c 100644
+index f3fda2bd7ce1..dd2aacaeee43 100644
--- a/gcc/tree-ssa-loop-im.cc
+++ b/gcc/tree-ssa-loop-im.cc
@@ -48,8 +48,6 @@ along with GCC; see the file COPYING3. If not see
diff --git a/14.0.0/gentoo/81_all_Revert-testsuite-Add-more-pragma-novector-to-new-tes.patch b/14.0.0/gentoo/82_all_testsuite_Add_more_pragma_novector_to_new_tests.patch
index 88e414e..0586a1c 100644
--- a/14.0.0/gentoo/81_all_Revert-testsuite-Add-more-pragma-novector-to-new-tes.patch
+++ b/14.0.0/gentoo/82_all_testsuite_Add_more_pragma_novector_to_new_tests.patch
@@ -1,7 +1,7 @@
-From aa2a8d5c6f86e0b61e92b1ca02859cd480647f72 Mon Sep 17 00:00:00 2001
+From f4636b37ea9c34b2f3fc7efa04fd34fa4b8b2542 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Mon, 25 Dec 2023 16:57:15 +0000
-Subject: [PATCH 7/7] Revert "testsuite: Add more pragma novector to new tests"
+Subject: [PATCH 8/8] Revert "testsuite: Add more pragma novector to new tests"
This reverts commit 0994ddd86f9c3d829b06009d9e706ff72b07001a.
diff --git a/14.0.0/gentoo/README.history b/14.0.0/gentoo/README.history
index b3ba265..24aaad3 100644
--- a/14.0.0/gentoo/README.history
+++ b/14.0.0/gentoo/README.history
@@ -1,3 +1,14 @@
+15 8 Jan 2024
+
+ U 75_all_Revert-middle-end-explicitly-initialize-vec_stmts-PR.patch
+ U 76_all_Revert-testsuite-un-xfail-TSVC-loops-that-check-for-.patch
+ U 77_all_Revert_arm_Add_Advanced_SIMD_cbranch_implementation.patch
+ + 78_all_Revert_testsuite_add_tests_for_early_break_vectorization.patch
+ + 79_all_Revert_AArch64_add_implementation_for_vector_cbranch.patch
+ + 80_all_Revert_middle-end_support_vectorization_of_loops_with_mult.patch
+ + 81_all_Revert-middle-end-prevent-LIM-from-hoising-vector-co.patch
+ + 82_all_testsuite_Add_more_pragma_novector_to_new_tests.patch
+
14 31 Dec 2023
+ 75_all_Revert-middle-end-explicitly-initialize-vec_stmts-PR.patch