summaryrefslogtreecommitdiff
path: root/packages/gcc/11.2.0/0006-arc-Update-ZOL-pattern.patch
diff options
context:
space:
mode:
authorAlexey Brodkin <abrodkin@synopsys.com>2021-10-06 17:17:05 (GMT)
committerAlexey Brodkin <abrodkin@synopsys.com>2021-10-10 11:53:17 (GMT)
commit15f9d8fcea954a85355dcb491e1f9f025896e88f (patch)
treebbcc6d432e7e5cf09b6f72ed9f41e3a9a41af500 /packages/gcc/11.2.0/0006-arc-Update-ZOL-pattern.patch
parentbf890ce59e98dfeb6942c220a8fa9650eab634db (diff)
gcc11: Fixes for ARC
See more details here: 1. https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/issues/398 2. https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/issues/427 3. https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/issues/429 Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Diffstat (limited to 'packages/gcc/11.2.0/0006-arc-Update-ZOL-pattern.patch')
-rw-r--r--packages/gcc/11.2.0/0006-arc-Update-ZOL-pattern.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/packages/gcc/11.2.0/0006-arc-Update-ZOL-pattern.patch b/packages/gcc/11.2.0/0006-arc-Update-ZOL-pattern.patch
new file mode 100644
index 0000000..361c9db
--- /dev/null
+++ b/packages/gcc/11.2.0/0006-arc-Update-ZOL-pattern.patch
@@ -0,0 +1,44 @@
+From 7efc628f79a1801b292623dfe5aa8c53a61a2121 Mon Sep 17 00:00:00 2001
+From: Claudiu Zissulescu <claziss@synopsys.com>
+Date: Tue, 14 Sep 2021 12:25:43 +0300
+Subject: [PATCH] arc: Update ZOL pattern.
+
+The ZOL pattern is missing modes which may lead to errors during
+var_tracking. Add them.
+
+gcc/
+ * config/arc/arc.md (doloop_end): Add missing mode.
+ (loop_end): Likewise.
+
+See more details here: https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/issues/398
+Will be a part of GCC 12, see: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=9bb20299ba1d1cc3bbd83a07a777fcc5a93cfeb0
+
+Signed-off-by: Claudiu Zissulescu <claziss@synopsys.com>
+---
+ gcc/config/arc/arc.md | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+--- a/gcc/config/arc/arc.md
++++ b/gcc/config/arc/arc.md
+@@ -4990,8 +4990,8 @@
+ (const_int 1))
+ (label_ref (match_operand 1 "" ""))
+ (pc)))
+- (set (match_dup 0) (plus (match_dup 0) (const_int -1)))
+- (unspec [(const_int 0)] UNSPEC_ARC_LP)
++ (set (match_dup 0) (plus:SI (match_dup 0) (const_int -1)))
++ (unspec:SI [(const_int 0)] UNSPEC_ARC_LP)
+ (clobber (match_dup 2))])]
+ ""
+ {
+@@ -5020,8 +5020,8 @@
+ (const_int 1))
+ (label_ref (match_operand 1 "" ""))
+ (pc)))
+- (set (match_dup 0) (plus (match_dup 0) (const_int -1)))
+- (unspec [(const_int 0)] UNSPEC_ARC_LP)
++ (set (match_dup 0) (plus:SI (match_dup 0) (const_int -1)))
++ (unspec:SI [(const_int 0)] UNSPEC_ARC_LP)
+ (clobber (match_scratch:SI 2 "=X,&r"))]
+ ""
+ "@