diff options
Diffstat (limited to 'packages/gcc/11.5.0/0005-arc-Update-ZOL-pattern.patch')
-rw-r--r-- | packages/gcc/11.5.0/0005-arc-Update-ZOL-pattern.patch | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/packages/gcc/11.5.0/0005-arc-Update-ZOL-pattern.patch b/packages/gcc/11.5.0/0005-arc-Update-ZOL-pattern.patch new file mode 100644 index 00000000..4e309acf --- /dev/null +++ b/packages/gcc/11.5.0/0005-arc-Update-ZOL-pattern.patch @@ -0,0 +1,44 @@ +From 4c2e3d20fd6a74faf9aa765e724efa7bd73ffc04 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"))] + "" + "@ |