summaryrefslogtreecommitdiffstats
path: root/meta-microblaze
diff options
context:
space:
mode:
Diffstat (limited to 'meta-microblaze')
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch6
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch4
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0003-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch6
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0004-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch10
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0005-Patch-testsuite-Update-MicroBlaze-strings-test.patch23
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0006-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch4
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0007-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch8
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0008-Patch-microblaze-Fix-atomic-side-effects.patch8
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0009-Patch-microblaze-Fix-atomic-boolean-return-value.patch6
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0010-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch6
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0011-Patch-microblaze-Added-ashrsi3_with_size_opt.patch6
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0012-Patch-microblaze-Use-bralid-for-profiler-calls.patch6
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0013-Patch-microblaze-Removed-moddi3-routinue.patch11
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0014-Patch-microblaze-Add-INIT_PRIORITY-support.patch6
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0015-Patch-microblaze-Add-optimized-lshrsi3.patch6
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0016-Patch-microblaze-Add-cbranchsi4_reg.patch6
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0017-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch6
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0018-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch6
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0019-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch8
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0020-Patch-microblaze-8-stage-pipeline-for-microblaze.patch12
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0021-Patch-microblaze-Correct-the-const-high-double-immed.patch6
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0022-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch6
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0023-patch-microblaze-Fix-the-calculation-of-high-word-in.patch6
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0024-Patch-MicroBlaze-this-patch-has.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0025-Patch-microblaze-Fix-bug-in-MB-version-calculation.patch)165
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0024-Patch-microblaze-Add-new-bit-field-instructions.patch162
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0025-Fixing-the-issue-with-the-builtin_alloc.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0026-Fixing-the-issue-with-the-builtin_alloc.patch)10
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0026-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0028-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch)6
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0027-Patch-MicroBlaze-Intial-commit-of-64-bit-Microblaze.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0029-Patch-MicroBlaze-Intial-commit-of-64-bit-Microblaze.patch)101
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0027-Patch-Microblaze-update-in-constraints-for-bitfield-.patch84
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0028-Intial-commit-for-64bit-MB-sources.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0030-Intial-commit-for-64bit-MB-sources.patch)96
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0029-re-arrangement-of-the-compare-branches.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0031-re-arrangement-of-the-compare-branches.patch)18
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0030-Patch-Microblaze-previous-commit-broke-the-handling-.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0032-Patch-Microblaze-previous-commit-broke-the-handling-.patch)8
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0031-Patch-Microblaze-Support-of-multilibs-with-m64.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0033-Patch-Microblaze-Support-of-multilibs-with-m64.patch)6
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0032-Fixed-issues-like.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0034-Fixed-issues-like.patch)8
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0033-Fixed-below-issues.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0035-Fixed-below-issues.patch)30
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0034-Added-double-arith-instructions.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0036-Added-double-arith-instructions.patch)6
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0035-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0037-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch)6
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0036-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0038-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch)14
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0037-extending-the-Dwarf-support-to-64bit-Microblaze.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0039-extending-the-Dwarf-support-to-64bit-Microblaze.patch)6
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0038-fixing-the-typo-errors-in-umodsi3-file.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0040-fixing-the-typo-errors-in-umodsi3-file.patch)6
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0039-fixing-the-32bit-LTO-related-issue9-1014024.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0041-fixing-the-32bit-LTO-related-issue9-1014024.patch)6
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0040-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0042-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch)6
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0041-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0043-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch)6
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0042-fixing-the-long-long-long-mingw-toolchain-issue.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0044-fixing-the-long-long-long-mingw-toolchain-issue.patch)12
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0043-Fix-the-MB-64-bug-of-handling-QI-objects.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0045-Fix-the-MB-64-bug-of-handling-QI-objects.patch)10
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0044-Patch-Microblaze-We-will-check-the-possibility-of-pe.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0046-Patch-Microblaze-We-will-check-the-possibility-of-pe.patch)6
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0045-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0047-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch)14
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0046-Author-Nagaraju-nmekala-xilinx.com.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0048-Author-Nagaraju-nmekala-xilinx.com.patch)40
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0047-Added-new-MB-64-single-register-arithmetic-instructi.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0049-Added-new-MB-64-single-register-arithmetic-instructi.patch)6
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0048-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0050-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch)10
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0049-Patch-microblaze-Fix-Compiler-crash-with-freg-struct.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0051-Patch-microblaze-Fix-Compiler-crash-with-freg-struct.patch)8
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0050-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0052-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch)6
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0051-Patch-microblaze-Reducing-Stack-space-for-arguments.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0053-Patch-microblaze-Reducing-Stack-space-for-arguments.patch)10
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0052-Patch-MicroBlaze.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0055-Patch-MicroBlaze.patch)13
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0053-patch-microblaze64-Add-Zero_extended-instructions.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-11/0056-patch-microblaze64-Add-Zero_extended-instructions.patch)6
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-11/0054-Patch-MicroBlaze-Typo-in-the-previous-commits.bsefi-.patch49
-rw-r--r--meta-microblaze/recipes-devtools/gcc/gcc-source_11.%.bbappend63
57 files changed, 465 insertions, 710 deletions
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch
index e0f7b12e..9750cee8 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch
@@ -1,7 +1,7 @@
1From e3f148dff6d6d926d1f39802f54abd59bd9e887c Mon Sep 17 00:00:00 2001 1From 89825e41d91ef04532a7a53d72f4eb33ad40d1d9 Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Wed, 11 Jan 2017 13:13:57 +0530 3Date: Wed, 11 Jan 2017 13:13:57 +0530
4Subject: [PATCH 01/54] LOCAL]: Testsuite - builtins tests require fpic 4Subject: [PATCH 01/53] LOCAL]: Testsuite - builtins tests require fpic
5 Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com> 5 Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
6 6
7Conflicts: 7Conflicts:
@@ -12,7 +12,7 @@ Conflicts:
12 1 file changed, 8 insertions(+) 12 1 file changed, 8 insertions(+)
13 13
14diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp b/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp 14diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp b/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
15index 594c9297958..8350d9401d2 100644 15index baec137d9a3..ad62a7348bc 100644
16--- a/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp 16--- a/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
17+++ b/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp 17+++ b/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
18@@ -48,6 +48,14 @@ if { [istarget *-*-eabi*] 18@@ -48,6 +48,14 @@ if { [istarget *-*-eabi*]
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch
index 431dc7ef..bfb98bcd 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch
@@ -1,7 +1,7 @@
1From bef1a4116efded9972e693ded5152f1d8670862e Mon Sep 17 00:00:00 2001 1From 997e53fc324c3414d09a883a7bff28e1e346c847 Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Wed, 11 Jan 2017 14:31:10 +0530 3Date: Wed, 11 Jan 2017 14:31:10 +0530
4Subject: [PATCH 02/54] [LOCAL]: Quick fail g++.dg/opt/memcpy1.C This 4Subject: [PATCH 02/53] [LOCAL]: Quick fail g++.dg/opt/memcpy1.C This
5 particular testcase fails with a timeout. Instead, fail it at compile-time 5 particular testcase fails with a timeout. Instead, fail it at compile-time
6 for microblaze. This speeds up the testsuite without removing it from the 6 for microblaze. This speeds up the testsuite without removing it from the
7 FAIL reports. 7 FAIL reports.
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0003-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0003-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch
index a2dc7ccc..6a4b907a 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0003-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0003-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch
@@ -1,7 +1,7 @@
1From a063597f875142af49003e2f28b6c0f56e3b914d Mon Sep 17 00:00:00 2001 1From 66fb54b40c49c86e8cefa94523a3f65a6779d6f2 Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Wed, 11 Jan 2017 15:46:28 +0530 3Date: Wed, 11 Jan 2017 15:46:28 +0530
4Subject: [PATCH 03/54] [LOCAL]: For dejagnu static testing on qemu, suppress 4Subject: [PATCH 03/53] [LOCAL]: For dejagnu static testing on qemu, suppress
5 warnings about multiple definitions from the test function and libc in line 5 warnings about multiple definitions from the test function and libc in line
6 with method used by powerpc. Dynamic linking and using a qemu binary which 6 with method used by powerpc. Dynamic linking and using a qemu binary which
7 understands sysroot resolves all test failures with builtins 7 understands sysroot resolves all test failures with builtins
@@ -12,7 +12,7 @@ Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
12 1 file changed, 4 deletions(-) 12 1 file changed, 4 deletions(-)
13 13
14diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp b/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp 14diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp b/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
15index 8350d9401d2..d7c9b281d01 100644 15index ad62a7348bc..3a38fb1de91 100644
16--- a/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp 16--- a/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
17+++ b/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp 17+++ b/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
18@@ -48,14 +48,10 @@ if { [istarget *-*-eabi*] 18@@ -48,14 +48,10 @@ if { [istarget *-*-eabi*]
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0004-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0004-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch
index 661417d7..0d907474 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0004-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0004-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch
@@ -1,7 +1,7 @@
1From c1028bcb40ccd8d61afc1ab798198948fbf74aa0 Mon Sep 17 00:00:00 2001 1From dd488cfaf9f909462290c85a1e30665f6252cbf1 Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Wed, 11 Jan 2017 15:50:35 +0530 3Date: Wed, 11 Jan 2017 15:50:35 +0530
4Subject: [PATCH 04/54] [Patch, testsuite]: Add MicroBlaze to target-supports 4Subject: [PATCH 04/53] [Patch, testsuite]: Add MicroBlaze to target-supports
5 for atomic buil. .tin tests 5 for atomic buil. .tin tests
6 6
7MicroBlaze added to supported targets for atomic builtin tests. 7MicroBlaze added to supported targets for atomic builtin tests.
@@ -19,17 +19,17 @@ Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
19 1 file changed, 1 insertion(+) 19 1 file changed, 1 insertion(+)
20 20
21diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp 21diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
22index 0dfe3ae0651..86caf6db9a9 100644 22index 411e559f508..9e6a1480e8f 100644
23--- a/gcc/testsuite/lib/target-supports.exp 23--- a/gcc/testsuite/lib/target-supports.exp
24+++ b/gcc/testsuite/lib/target-supports.exp 24+++ b/gcc/testsuite/lib/target-supports.exp
25@@ -7468,6 +7468,7 @@ proc check_effective_target_sync_int_long { } { 25@@ -7958,6 +7958,7 @@ proc check_effective_target_sync_int_long { } {
26 && [check_effective_target_arm_acq_rel]) 26 && [check_effective_target_arm_acq_rel])
27 || [istarget bfin*-*linux*] 27 || [istarget bfin*-*linux*]
28 || [istarget hppa*-*linux*] 28 || [istarget hppa*-*linux*]
29+ || [istarget microblaze*-*linux*] 29+ || [istarget microblaze*-*linux*]
30 || [istarget s390*-*-*] 30 || [istarget s390*-*-*]
31 || [istarget powerpc*-*-*] 31 || [istarget powerpc*-*-*]
32 || [istarget crisv32-*-*] || [istarget cris-*-*] 32 || [istarget cris-*-*]
33-- 33--
342.17.1 342.17.1
35 35
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0005-Patch-testsuite-Update-MicroBlaze-strings-test.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0005-Patch-testsuite-Update-MicroBlaze-strings-test.patch
index d34988c5..1714c142 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0005-Patch-testsuite-Update-MicroBlaze-strings-test.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0005-Patch-testsuite-Update-MicroBlaze-strings-test.patch
@@ -1,7 +1,7 @@
1From ae5ce07a67df89dabba61414ba7dabbdabc1ee1b Mon Sep 17 00:00:00 2001 1From 5576c4ca7641833a91b19b36d105a6b852c1a0cc Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Wed, 11 Jan 2017 16:20:01 +0530 3Date: Wed, 11 Jan 2017 16:20:01 +0530
4Subject: [PATCH 05/54] [Patch, testsuite]: Update MicroBlaze strings test for 4Subject: [PATCH 05/53] [Patch, testsuite]: Update MicroBlaze strings test for
5 new scan-assembly output resulting in use of $LC label 5 new scan-assembly output resulting in use of $LC label
6 6
7ChangeLog/testsuite 7ChangeLog/testsuite
@@ -13,15 +13,16 @@ ChangeLog/testsuite
13 13
14Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com> 14Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
15--- 15---
16 gcc/testsuite/gcc.target/microblaze/others/strings1.c | 6 ++++-- 16 gcc/testsuite/gcc.target/microblaze/others/strings1.c | 4 ++++
17 1 file changed, 4 insertions(+), 2 deletions(-) 17 1 file changed, 4 insertions(+)
18 18
19diff --git a/gcc/testsuite/gcc.target/microblaze/others/strings1.c b/gcc/testsuite/gcc.target/microblaze/others/strings1.c 19diff --git a/gcc/testsuite/gcc.target/microblaze/others/strings1.c b/gcc/testsuite/gcc.target/microblaze/others/strings1.c
20index 7a63faf79f2..0403b7bdca9 100644 20index efaf3c660ea..347872360d3 100644
21--- a/gcc/testsuite/gcc.target/microblaze/others/strings1.c 21--- a/gcc/testsuite/gcc.target/microblaze/others/strings1.c
22+++ b/gcc/testsuite/gcc.target/microblaze/others/strings1.c 22+++ b/gcc/testsuite/gcc.target/microblaze/others/strings1.c
23@@ -1,13 +1,15 @@ 23@@ -3,6 +3,10 @@
24 /* { dg-options "-O3" } */ 24 /* { dg-final { scan-assembler "addik\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),\\\$LC.*" } } */
25 /* { dg-final { scan-assembler "\lwi\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),*" } } */
25 26
26+/* { dg-final { scan-assembler "\.rodata*" } } */ 27+/* { dg-final { scan-assembler "\.rodata*" } } */
27+/* { dg-final { scan-assembler "addik\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),\\\$LC.*" } } */ 28+/* { dg-final { scan-assembler "addik\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),\\\$LC.*" } } */
@@ -29,15 +30,7 @@ index 7a63faf79f2..0403b7bdca9 100644
29+ 30+
30 #include <string.h> 31 #include <string.h>
31 32
32-/* { dg-final { scan-assembler "\.rodata*" } } */
33 extern void somefunc (char *); 33 extern void somefunc (char *);
34 int testfunc ()
35 {
36 char string2[80];
37-/* { dg-final { scan-assembler "\lwi\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r0,.LC*" } } */
38 strcpy (string2, "hello");
39 somefunc (string2);
40 }
41-- 34--
422.17.1 352.17.1
43 36
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0006-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0006-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch
index 4b45fcf1..def6e95e 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0006-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0006-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch
@@ -1,7 +1,7 @@
1From 49cf9cd3fedce80a63e9d03d42482dd4596c27a7 Mon Sep 17 00:00:00 2001 1From ea6a9f11d6a866fe20cca13d06c7386754543e6c Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Thu, 12 Jan 2017 16:14:15 +0530 3Date: Thu, 12 Jan 2017 16:14:15 +0530
4Subject: [PATCH 06/54] [Patch, testsuite]: Allow MicroBlaze .weakext pattern 4Subject: [PATCH 06/53] [Patch, testsuite]: Allow MicroBlaze .weakext pattern
5 in regex match Extend regex pattern to include optional ext at the end of 5 in regex match Extend regex pattern to include optional ext at the end of
6 .weak to match the MicroBlaze weak label .weakext 6 .weak to match the MicroBlaze weak label .weakext
7 7
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0007-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0007-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch
index 8fa324ad..5f72ecd2 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0007-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0007-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch
@@ -1,7 +1,7 @@
1From dc6cbb4e18a3f31441403146b8f159554c329897 Mon Sep 17 00:00:00 2001 1From fe007d78e220606b220dfc452fe9564ebfecd57a Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Thu, 12 Jan 2017 16:34:27 +0530 3Date: Thu, 12 Jan 2017 16:34:27 +0530
4Subject: [PATCH 07/54] [Patch, testsuite]: Add MicroBlaze to 4Subject: [PATCH 07/53] [Patch, testsuite]: Add MicroBlaze to
5 check_profiling_available Testsuite, add microblaze*-*-* target in 5 check_profiling_available Testsuite, add microblaze*-*-* target in
6 check_profiling_available inline with other archs setting 6 check_profiling_available inline with other archs setting
7 profiling_available_saved to 0 7 profiling_available_saved to 0
@@ -12,10 +12,10 @@ Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
12 1 file changed, 1 insertion(+) 12 1 file changed, 1 insertion(+)
13 13
14diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp 14diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
15index 86caf6db9a9..cbd9024ece9 100644 15index 9e6a1480e8f..7e9d0889f76 100644
16--- a/gcc/testsuite/lib/target-supports.exp 16--- a/gcc/testsuite/lib/target-supports.exp
17+++ b/gcc/testsuite/lib/target-supports.exp 17+++ b/gcc/testsuite/lib/target-supports.exp
18@@ -707,6 +707,7 @@ proc check_profiling_available { test_what } { 18@@ -727,6 +727,7 @@ proc check_profiling_available { test_what } {
19 || [istarget m68k-*-elf] 19 || [istarget m68k-*-elf]
20 || [istarget m68k-*-uclinux*] 20 || [istarget m68k-*-uclinux*]
21 || [istarget mips*-*-elf*] 21 || [istarget mips*-*-elf*]
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0008-Patch-microblaze-Fix-atomic-side-effects.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0008-Patch-microblaze-Fix-atomic-side-effects.patch
index 1fa55729..78dc5dcd 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0008-Patch-microblaze-Fix-atomic-side-effects.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0008-Patch-microblaze-Fix-atomic-side-effects.patch
@@ -1,7 +1,7 @@
1From 602713d07d2e1b3a33a7f097baff270266aa4254 Mon Sep 17 00:00:00 2001 1From 63b07793addb119dfc3ec0a30225e767d8f48706 Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Thu, 12 Jan 2017 16:41:43 +0530 3Date: Thu, 12 Jan 2017 16:41:43 +0530
4Subject: [PATCH 08/54] [Patch, microblaze]: Fix atomic side effects. In 4Subject: [PATCH 08/53] [Patch, microblaze]: Fix atomic side effects. In
5 atomic_compare_and_swapsi, add side effects to prevent incorrect assumptions 5 atomic_compare_and_swapsi, add side effects to prevent incorrect assumptions
6 during optimization. Previously, the outputs were considered unused; this 6 during optimization. Previously, the outputs were considered unused; this
7 generated assembly code with undefined side effects after invocation of the 7 generated assembly code with undefined side effects after invocation of the
@@ -18,7 +18,7 @@ Conflicts:
18 2 files changed, 16 insertions(+), 8 deletions(-) 18 2 files changed, 16 insertions(+), 8 deletions(-)
19 19
20diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md 20diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
21index 7049acd1dcd..eba2776ae56 100644 21index 472ef4c1d8d..b02034c9f1e 100644
22--- a/gcc/config/microblaze/microblaze.md 22--- a/gcc/config/microblaze/microblaze.md
23+++ b/gcc/config/microblaze/microblaze.md 23+++ b/gcc/config/microblaze/microblaze.md
24@@ -43,6 +43,9 @@ 24@@ -43,6 +43,9 @@
@@ -32,7 +32,7 @@ index 7049acd1dcd..eba2776ae56 100644
32 32
33 (define_c_enum "unspec" [ 33 (define_c_enum "unspec" [
34diff --git a/gcc/config/microblaze/sync.md b/gcc/config/microblaze/sync.md 34diff --git a/gcc/config/microblaze/sync.md b/gcc/config/microblaze/sync.md
35index 76f530b9d3b..24cd67e1fdb 100644 35index 23e0f1c52e2..3b0fba1d3cf 100644
36--- a/gcc/config/microblaze/sync.md 36--- a/gcc/config/microblaze/sync.md
37+++ b/gcc/config/microblaze/sync.md 37+++ b/gcc/config/microblaze/sync.md
38@@ -18,14 +18,19 @@ 38@@ -18,14 +18,19 @@
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0009-Patch-microblaze-Fix-atomic-boolean-return-value.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0009-Patch-microblaze-Fix-atomic-boolean-return-value.patch
index 666d344f..824b031c 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0009-Patch-microblaze-Fix-atomic-boolean-return-value.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0009-Patch-microblaze-Fix-atomic-boolean-return-value.patch
@@ -1,7 +1,7 @@
1From d3d065c9645d795e03dab6db827c08231e011a1f Mon Sep 17 00:00:00 2001 1From 0aa9647936673e3ff1ac0082144b196309916ddb Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Thu, 12 Jan 2017 16:45:45 +0530 3Date: Thu, 12 Jan 2017 16:45:45 +0530
4Subject: [PATCH 09/54] [Patch, microblaze]: Fix atomic boolean return value. 4Subject: [PATCH 09/53] [Patch, microblaze]: Fix atomic boolean return value.
5 In atomic_compare_and_swapsi, fix boolean return value. Previously, it 5 In atomic_compare_and_swapsi, fix boolean return value. Previously, it
6 contained zero if successful and non-zero if unsuccessful. 6 contained zero if successful and non-zero if unsuccessful.
7 7
@@ -12,7 +12,7 @@ Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
12 1 file changed, 4 insertions(+), 3 deletions(-) 12 1 file changed, 4 insertions(+), 3 deletions(-)
13 13
14diff --git a/gcc/config/microblaze/sync.md b/gcc/config/microblaze/sync.md 14diff --git a/gcc/config/microblaze/sync.md b/gcc/config/microblaze/sync.md
15index 24cd67e1fdb..76c3616c992 100644 15index 3b0fba1d3cf..d08400af4bb 100644
16--- a/gcc/config/microblaze/sync.md 16--- a/gcc/config/microblaze/sync.md
17+++ b/gcc/config/microblaze/sync.md 17+++ b/gcc/config/microblaze/sync.md
18@@ -34,15 +34,16 @@ 18@@ -34,15 +34,16 @@
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0010-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0010-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch
index 22bf521d..a1896298 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0010-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0010-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch
@@ -1,7 +1,7 @@
1From 8d9d1f457e1e270250d8a6700d4a1e1fa09465df Mon Sep 17 00:00:00 2001 1From a950e2d4fb15e9ebabe11a5606f24a510f297d6d Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Thu, 12 Jan 2017 16:50:17 +0530 3Date: Thu, 12 Jan 2017 16:50:17 +0530
4Subject: [PATCH 10/54] [Patch, microblaze]: Fix the Microblaze crash with 4Subject: [PATCH 10/53] [Patch, microblaze]: Fix the Microblaze crash with
5 msmall-divides flag Compiler is crashing when we use msmall-divides and 5 msmall-divides flag Compiler is crashing when we use msmall-divides and
6 mxl-barrel-shift flag. This is because when use above flags 6 mxl-barrel-shift flag. This is because when use above flags
7 microblaze_expand_divide function will be called for division operation. In 7 microblaze_expand_divide function will be called for division operation. In
@@ -15,7 +15,7 @@ Signed-off-by:Nagaraju Mekala <nmekala@xilix.com>
15 1 file changed, 1 insertion(+), 2 deletions(-) 15 1 file changed, 1 insertion(+), 2 deletions(-)
16 16
17diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c 17diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
18index a0f81b71391..0186171c04c 100644 18index b444db17719..45405fa2160 100644
19--- a/gcc/config/microblaze/microblaze.c 19--- a/gcc/config/microblaze/microblaze.c
20+++ b/gcc/config/microblaze/microblaze.c 20+++ b/gcc/config/microblaze/microblaze.c
21@@ -3709,8 +3709,7 @@ microblaze_expand_divide (rtx operands[]) 21@@ -3709,8 +3709,7 @@ microblaze_expand_divide (rtx operands[])
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0011-Patch-microblaze-Added-ashrsi3_with_size_opt.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0011-Patch-microblaze-Added-ashrsi3_with_size_opt.patch
index cce812bb..597e4e6e 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0011-Patch-microblaze-Added-ashrsi3_with_size_opt.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0011-Patch-microblaze-Added-ashrsi3_with_size_opt.patch
@@ -1,7 +1,7 @@
1From 03429c91d1db134e1deda4c8e58bc0939d5fedf9 Mon Sep 17 00:00:00 2001 1From 3c984648f42e5fcf586c4327f108486fb8630f0d Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Thu, 12 Jan 2017 16:52:56 +0530 3Date: Thu, 12 Jan 2017 16:52:56 +0530
4Subject: [PATCH 11/54] [Patch, microblaze]: Added ashrsi3_with_size_opt Added 4Subject: [PATCH 11/53] [Patch, microblaze]: Added ashrsi3_with_size_opt Added
5 ashrsi3_with_size_opt pattern to optimize the sra instructions when the -Os 5 ashrsi3_with_size_opt pattern to optimize the sra instructions when the -Os
6 optimization is used. lshrsi3_with_size_opt is being removed as it has 6 optimization is used. lshrsi3_with_size_opt is being removed as it has
7 conflicts with unsigned int variables 7 conflicts with unsigned int variables
@@ -12,7 +12,7 @@ Signed-off-by:Nagaraju Mekala <nmekala@xilix.com>
12 1 file changed, 21 insertions(+) 12 1 file changed, 21 insertions(+)
13 13
14diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md 14diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
15index eba2776ae56..187ad522dcc 100644 15index b02034c9f1e..55477fd0a69 100644
16--- a/gcc/config/microblaze/microblaze.md 16--- a/gcc/config/microblaze/microblaze.md
17+++ b/gcc/config/microblaze/microblaze.md 17+++ b/gcc/config/microblaze/microblaze.md
18@@ -1508,6 +1508,27 @@ 18@@ -1508,6 +1508,27 @@
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0012-Patch-microblaze-Use-bralid-for-profiler-calls.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0012-Patch-microblaze-Use-bralid-for-profiler-calls.patch
index e393f0fe..917b6d70 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0012-Patch-microblaze-Use-bralid-for-profiler-calls.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0012-Patch-microblaze-Use-bralid-for-profiler-calls.patch
@@ -1,7 +1,7 @@
1From 6803fbc540db39865037994daa122cf10c0eb33a Mon Sep 17 00:00:00 2001 1From fa6e9e4317f9adb0748ade5029cbe3a10504ab54 Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Tue, 17 Jan 2017 10:57:19 +0530 3Date: Tue, 17 Jan 2017 10:57:19 +0530
4Subject: [PATCH 12/54] [Patch, microblaze]: Use bralid for profiler calls 4Subject: [PATCH 12/53] [Patch, microblaze]: Use bralid for profiler calls
5 Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> 5 Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
6 6
7--- 7---
@@ -9,7 +9,7 @@ Subject: [PATCH 12/54] [Patch, microblaze]: Use bralid for profiler calls
9 1 file changed, 1 insertion(+), 1 deletion(-) 9 1 file changed, 1 insertion(+), 1 deletion(-)
10 10
11diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h 11diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
12index dc112f5301f..8aa3f155790 100644 12index 2ecec750526..e32ce7dbb51 100644
13--- a/gcc/config/microblaze/microblaze.h 13--- a/gcc/config/microblaze/microblaze.h
14+++ b/gcc/config/microblaze/microblaze.h 14+++ b/gcc/config/microblaze/microblaze.h
15@@ -486,7 +486,7 @@ typedef struct microblaze_args 15@@ -486,7 +486,7 @@ typedef struct microblaze_args
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0013-Patch-microblaze-Removed-moddi3-routinue.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0013-Patch-microblaze-Removed-moddi3-routinue.patch
index b601c98a..0891750a 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0013-Patch-microblaze-Removed-moddi3-routinue.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0013-Patch-microblaze-Removed-moddi3-routinue.patch
@@ -1,10 +1,13 @@
1From 5de3888c460a341667150d569548b3309188e7e8 Mon Sep 17 00:00:00 2001 1From a5b58621655fa306c37157dfe3092547adce0aab Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Thu, 12 Jan 2017 17:36:16 +0530 3Date: Thu, 12 Jan 2017 17:36:16 +0530
4Subject: [PATCH 13/54] [Patch, microblaze]: Removed moddi3 routinue Using the 4Subject: [PATCH 13/53] [Patch, microblaze]: Removed moddi3 routinue Using the
5 default moddi3 function as the existing implementation has many bugs 5 default moddi3 function as the existing implementation has many bugs
6 6
7Signed-off-by:Nagaraju <nmekala@xilix.com> 7Signed-off-by:Nagaraju <nmekala@xilix.com>
8
9Conflicts:
10 libgcc/config/microblaze/moddi3.S
8--- 11---
9 libgcc/config/microblaze/moddi3.S | 121 -------------------------- 12 libgcc/config/microblaze/moddi3.S | 121 --------------------------
10 libgcc/config/microblaze/t-microblaze | 3 +- 13 libgcc/config/microblaze/t-microblaze | 3 +-
@@ -13,13 +16,13 @@ Signed-off-by:Nagaraju <nmekala@xilix.com>
13 16
14diff --git a/libgcc/config/microblaze/moddi3.S b/libgcc/config/microblaze/moddi3.S 17diff --git a/libgcc/config/microblaze/moddi3.S b/libgcc/config/microblaze/moddi3.S
15deleted file mode 100644 18deleted file mode 100644
16index d0e24fdb89d..00000000000 19index 4bac960107e..00000000000
17--- a/libgcc/config/microblaze/moddi3.S 20--- a/libgcc/config/microblaze/moddi3.S
18+++ /dev/null 21+++ /dev/null
19@@ -1,121 +0,0 @@ 22@@ -1,121 +0,0 @@
20-################################### 23-###################################
21-# 24-#
22-# Copyright (C) 2009-2020 Free Software Foundation, Inc. 25-# Copyright (C) 2009-2021 Free Software Foundation, Inc.
23-# 26-#
24-# Contributed by Michael Eager <eager@eagercon.com>. 27-# Contributed by Michael Eager <eager@eagercon.com>.
25-# 28-#
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0014-Patch-microblaze-Add-INIT_PRIORITY-support.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0014-Patch-microblaze-Add-INIT_PRIORITY-support.patch
index 3bd6efd5..cbee1692 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0014-Patch-microblaze-Add-INIT_PRIORITY-support.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0014-Patch-microblaze-Add-INIT_PRIORITY-support.patch
@@ -1,7 +1,7 @@
1From b9a9e8f9d0994c76819ec605a0b7cd113f3b2cf0 Mon Sep 17 00:00:00 2001 1From a9abf680767f4294177d716cd95a9bec5c7916a7 Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Tue, 17 Jan 2017 14:41:58 +0530 3Date: Tue, 17 Jan 2017 14:41:58 +0530
4Subject: [PATCH 14/54] [Patch, microblaze]: Add INIT_PRIORITY support Added 4Subject: [PATCH 14/53] [Patch, microblaze]: Add INIT_PRIORITY support Added
5 TARGET_ASM_CONSTRUCTOR and TARGET_ASM_DESTRUCTOR macros. 5 TARGET_ASM_CONSTRUCTOR and TARGET_ASM_DESTRUCTOR macros.
6 6
7These macros allows users to control the order of initialization 7These macros allows users to control the order of initialization
@@ -26,7 +26,7 @@ Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
26 1 file changed, 53 insertions(+) 26 1 file changed, 53 insertions(+)
27 27
28diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c 28diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
29index 0186171c04c..9eae5515c60 100644 29index 45405fa2160..62630aab64e 100644
30--- a/gcc/config/microblaze/microblaze.c 30--- a/gcc/config/microblaze/microblaze.c
31+++ b/gcc/config/microblaze/microblaze.c 31+++ b/gcc/config/microblaze/microblaze.c
32@@ -2634,6 +2634,53 @@ print_operand_address (FILE * file, rtx addr) 32@@ -2634,6 +2634,53 @@ print_operand_address (FILE * file, rtx addr)
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0015-Patch-microblaze-Add-optimized-lshrsi3.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0015-Patch-microblaze-Add-optimized-lshrsi3.patch
index ba20cf07..42d836cb 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0015-Patch-microblaze-Add-optimized-lshrsi3.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0015-Patch-microblaze-Add-optimized-lshrsi3.patch
@@ -1,7 +1,7 @@
1From f448485f5e0507a7ab8be7f83c08f807200a3501 Mon Sep 17 00:00:00 2001 1From fe3572f4b0cc033db305b0d67abb88632bf13887 Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Tue, 17 Jan 2017 15:23:57 +0530 3Date: Tue, 17 Jan 2017 15:23:57 +0530
4Subject: [PATCH 15/54] [Patch, microblaze]: Add optimized lshrsi3 When barrel 4Subject: [PATCH 15/53] [Patch, microblaze]: Add optimized lshrsi3 When barrel
5 shifter is not present, the immediate value is greater than #5 and 5 shifter is not present, the immediate value is greater than #5 and
6 optimization is -OS, the compiler will generate shift operation using loop. 6 optimization is -OS, the compiler will generate shift operation using loop.
7 7
@@ -26,7 +26,7 @@ Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
26 create mode 100644 gcc/testsuite/gcc.target/microblaze/others/lshrsi_Os_1.c 26 create mode 100644 gcc/testsuite/gcc.target/microblaze/others/lshrsi_Os_1.c
27 27
28diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md 28diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
29index 187ad522dcc..8f9baec826b 100644 29index 55477fd0a69..f85d8fcac8a 100644
30--- a/gcc/config/microblaze/microblaze.md 30--- a/gcc/config/microblaze/microblaze.md
31+++ b/gcc/config/microblaze/microblaze.md 31+++ b/gcc/config/microblaze/microblaze.md
32@@ -1618,6 +1618,27 @@ 32@@ -1618,6 +1618,27 @@
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0016-Patch-microblaze-Add-cbranchsi4_reg.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0016-Patch-microblaze-Add-cbranchsi4_reg.patch
index 0c865224..3ee98b39 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0016-Patch-microblaze-Add-cbranchsi4_reg.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0016-Patch-microblaze-Add-cbranchsi4_reg.patch
@@ -1,7 +1,7 @@
1From 386b8dcef2d774e9138515814be0fd579ade5af5 Mon Sep 17 00:00:00 2001 1From 3ace42f94961162022e9e7baf3e3509fc1a1bfa4 Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Tue, 17 Jan 2017 17:04:37 +0530 3Date: Tue, 17 Jan 2017 17:04:37 +0530
4Subject: [PATCH 16/54] [Patch, microblaze]: Add cbranchsi4_reg This patch 4Subject: [PATCH 16/53] [Patch, microblaze]: Add cbranchsi4_reg This patch
5 optimizes the generation of pcmpne/pcmpeq instruction if the compare 5 optimizes the generation of pcmpne/pcmpeq instruction if the compare
6 instruction has no immediate values.For the immediate values the xor 6 instruction has no immediate values.For the immediate values the xor
7 instruction is generated 7 instruction is generated
@@ -30,7 +30,7 @@ Conflicts:
30 7 files changed, 18 insertions(+), 18 deletions(-) 30 7 files changed, 18 insertions(+), 18 deletions(-)
31 31
32diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h 32diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h
33index 982b2abd2d4..c2f88813a8d 100644 33index 54c26969fbd..3a5f439703c 100644
34--- a/gcc/config/microblaze/microblaze-protos.h 34--- a/gcc/config/microblaze/microblaze-protos.h
35+++ b/gcc/config/microblaze/microblaze-protos.h 35+++ b/gcc/config/microblaze/microblaze-protos.h
36@@ -33,7 +33,7 @@ extern int microblaze_expand_shift (rtx *); 36@@ -33,7 +33,7 @@ extern int microblaze_expand_shift (rtx *);
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0017-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0017-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch
index 504083f3..dcc8b6af 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0017-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0017-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch
@@ -1,7 +1,7 @@
1From b6298861681965533c9b6dac5e26fbd62b52839d Mon Sep 17 00:00:00 2001 1From 2c68b0e5e0307019207e54d1f2d1565053f2e50f Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Tue, 17 Jan 2017 17:11:04 +0530 3Date: Tue, 17 Jan 2017 17:11:04 +0530
4Subject: [PATCH 17/54] [Patch,microblaze]: Inline Expansion of fsqrt builtin. 4Subject: [PATCH 17/53] [Patch,microblaze]: Inline Expansion of fsqrt builtin.
5 The changes are made in the patch for the inline expansion of the fsqrt 5 The changes are made in the patch for the inline expansion of the fsqrt
6 builtin with fqrt instruction. The sqrt math function takes double as 6 builtin with fqrt instruction. The sqrt math function takes double as
7 argument and return double as argument. The pattern is selected while 7 argument and return double as argument. The pattern is selected while
@@ -29,7 +29,7 @@ Signed-off-by:Ajit Agarwal ajitkum@xilinx.com
29 1 file changed, 14 insertions(+) 29 1 file changed, 14 insertions(+)
30 30
31diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md 31diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
32index 8f9baec826b..986d9c3aa25 100644 32index f85d8fcac8a..254221482af 100644
33--- a/gcc/config/microblaze/microblaze.md 33--- a/gcc/config/microblaze/microblaze.md
34+++ b/gcc/config/microblaze/microblaze.md 34+++ b/gcc/config/microblaze/microblaze.md
35@@ -451,6 +451,20 @@ 35@@ -451,6 +451,20 @@
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0018-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0018-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch
index 14095d83..4aa51cc9 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0018-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0018-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch
@@ -1,7 +1,7 @@
1From a8c6c13cc322ecc300bb2cdf22e3d6f1680e56be Mon Sep 17 00:00:00 2001 1From 9eb2e41cedc278eb16e20383b6c8caad2ce22138 Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Tue, 17 Jan 2017 18:07:24 +0530 3Date: Tue, 17 Jan 2017 18:07:24 +0530
4Subject: [PATCH 18/54] [PATCH] microblaze.md: Improve 'adddi3' and 'subdi3' 4Subject: [PATCH 18/53] [PATCH] microblaze.md: Improve 'adddi3' and 'subdi3'
5 insn definitions Change adddi3 to handle DI immediates as the second operand, 5 insn definitions Change adddi3 to handle DI immediates as the second operand,
6 this requires modification to the output template however reduces the need to 6 this requires modification to the output template however reduces the need to
7 specify seperate templates for 16-bit positive/negative immediate operands. 7 specify seperate templates for 16-bit positive/negative immediate operands.
@@ -23,7 +23,7 @@ Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
23 1 file changed, 6 insertions(+), 7 deletions(-) 23 1 file changed, 6 insertions(+), 7 deletions(-)
24 24
25diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md 25diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
26index 986d9c3aa25..efd2c34e0b7 100644 26index 254221482af..d86a049355a 100644
27--- a/gcc/config/microblaze/microblaze.md 27--- a/gcc/config/microblaze/microblaze.md
28+++ b/gcc/config/microblaze/microblaze.md 28+++ b/gcc/config/microblaze/microblaze.md
29@@ -502,17 +502,16 @@ 29@@ -502,17 +502,16 @@
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0019-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0019-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch
index 4a490119..b67d8424 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0019-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0019-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch
@@ -1,7 +1,7 @@
1From 3a9ee185eb462f880ceb4ddd125d4a98e0759873 Mon Sep 17 00:00:00 2001 1From abef7f4d2ad2869c37c4fb2666b52ed700384877 Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Tue, 17 Jan 2017 18:18:41 +0530 3Date: Tue, 17 Jan 2017 18:18:41 +0530
4Subject: [PATCH 19/54] [Patch, microblaze]: Update ashlsi3 & movsf patterns 4Subject: [PATCH 19/53] [Patch, microblaze]: Update ashlsi3 & movsf patterns
5 This patch removes the use of HOST_WIDE_INT_PRINT_HEX macro in print_operand 5 This patch removes the use of HOST_WIDE_INT_PRINT_HEX macro in print_operand
6 of ashlsi3_with_mul_nodelay,ashlsi3_with_mul_delay and movsf_internal 6 of ashlsi3_with_mul_nodelay,ashlsi3_with_mul_delay and movsf_internal
7 patterns beacuse HOST_WIDE_INT_PRINT_HEX is generating 64-bit value which our 7 patterns beacuse HOST_WIDE_INT_PRINT_HEX is generating 64-bit value which our
@@ -27,7 +27,7 @@ ChangeLog:
27 2 files changed, 9 insertions(+), 3 deletions(-) 27 2 files changed, 9 insertions(+), 3 deletions(-)
28 28
29diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c 29diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
30index 9eae5515c60..0a4619eec0c 100644 30index 62630aab64e..16f3120e415 100644
31--- a/gcc/config/microblaze/microblaze.c 31--- a/gcc/config/microblaze/microblaze.c
32+++ b/gcc/config/microblaze/microblaze.c 32+++ b/gcc/config/microblaze/microblaze.c
33@@ -2468,7 +2468,7 @@ print_operand (FILE * file, rtx op, int letter) 33@@ -2468,7 +2468,7 @@ print_operand (FILE * file, rtx op, int letter)
@@ -40,7 +40,7 @@ index 9eae5515c60..0a4619eec0c 100644
40 else 40 else
41 { 41 {
42diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md 42diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
43index efd2c34e0b7..be8bbda2bfb 100644 43index d86a049355a..986c78f592a 100644
44--- a/gcc/config/microblaze/microblaze.md 44--- a/gcc/config/microblaze/microblaze.md
45+++ b/gcc/config/microblaze/microblaze.md 45+++ b/gcc/config/microblaze/microblaze.md
46@@ -1368,7 +1368,10 @@ 46@@ -1368,7 +1368,10 @@
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0020-Patch-microblaze-8-stage-pipeline-for-microblaze.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0020-Patch-microblaze-8-stage-pipeline-for-microblaze.patch
index 07cf635d..3e19f449 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0020-Patch-microblaze-8-stage-pipeline-for-microblaze.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0020-Patch-microblaze-8-stage-pipeline-for-microblaze.patch
@@ -1,7 +1,7 @@
1From bfdb38133201f7df01d09dc7e7ee3043a35c1d3e Mon Sep 17 00:00:00 2001 1From 39d009f82d0fc316b633a717f173b6195316c8ed Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Mon, 9 Nov 2020 19:54:39 +0530 3Date: Mon, 9 Nov 2020 19:54:39 +0530
4Subject: [PATCH 20/54] [Patch, microblaze]: 8-stage pipeline for microblaze 4Subject: [PATCH 20/53] [Patch, microblaze]: 8-stage pipeline for microblaze
5 5
6This patch adds the support for the 8-stage pipeline. The new 8-stage 6This patch adds the support for the 8-stage pipeline. The new 8-stage
7pipeline reduces the latencies of float & integer division drastically 7pipeline reduces the latencies of float & integer division drastically
@@ -15,7 +15,7 @@ Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
15 4 files changed, 94 insertions(+), 3 deletions(-) 15 4 files changed, 94 insertions(+), 3 deletions(-)
16 16
17diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c 17diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
18index 0a4619eec0c..0dc96e481b7 100644 18index 16f3120e415..c730faa9814 100644
19--- a/gcc/config/microblaze/microblaze.c 19--- a/gcc/config/microblaze/microblaze.c
20+++ b/gcc/config/microblaze/microblaze.c 20+++ b/gcc/config/microblaze/microblaze.c
21@@ -1840,6 +1840,17 @@ microblaze_option_override (void) 21@@ -1840,6 +1840,17 @@ microblaze_option_override (void)
@@ -37,7 +37,7 @@ index 0a4619eec0c..0dc96e481b7 100644
37 if (TARGET_MULTIPLY_HIGH && TARGET_SOFT_MUL) 37 if (TARGET_MULTIPLY_HIGH && TARGET_SOFT_MUL)
38 error ("%<-mxl-multiply-high%> requires %<-mno-xl-soft-mul%>"); 38 error ("%<-mxl-multiply-high%> requires %<-mno-xl-soft-mul%>");
39diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h 39diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
40index 8aa3f155790..8a668278337 100644 40index e32ce7dbb51..21560ec1618 100644
41--- a/gcc/config/microblaze/microblaze.h 41--- a/gcc/config/microblaze/microblaze.h
42+++ b/gcc/config/microblaze/microblaze.h 42+++ b/gcc/config/microblaze/microblaze.h
43@@ -27,7 +27,8 @@ 43@@ -27,7 +27,8 @@
@@ -51,7 +51,7 @@ index 8aa3f155790..8a668278337 100644
51 51
52 #define MICROBLAZE_MASK_NO_UNSAFE_DELAY 0x00000001 52 #define MICROBLAZE_MASK_NO_UNSAFE_DELAY 0x00000001
53diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md 53diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
54index be8bbda2bfb..c407a81c51e 100644 54index 986c78f592a..ce72acb9ee0 100644
55--- a/gcc/config/microblaze/microblaze.md 55--- a/gcc/config/microblaze/microblaze.md
56+++ b/gcc/config/microblaze/microblaze.md 56+++ b/gcc/config/microblaze/microblaze.md
57@@ -35,6 +35,7 @@ 57@@ -35,6 +35,7 @@
@@ -162,7 +162,7 @@ index be8bbda2bfb..c407a81c51e 100644
162 (set_attr "length" "4")]) 162 (set_attr "length" "4")])
163 163
164diff --git a/gcc/config/microblaze/microblaze.opt b/gcc/config/microblaze/microblaze.opt 164diff --git a/gcc/config/microblaze/microblaze.opt b/gcc/config/microblaze/microblaze.opt
165index 725c2fab52a..a29c6f8df90 100644 165index 8dfb134b315..2a72566372b 100644
166--- a/gcc/config/microblaze/microblaze.opt 166--- a/gcc/config/microblaze/microblaze.opt
167+++ b/gcc/config/microblaze/microblaze.opt 167+++ b/gcc/config/microblaze/microblaze.opt
168@@ -133,3 +133,7 @@ Data referenced by offset from start of text instead of GOT (with -fPIC/-fPIE). 168@@ -133,3 +133,7 @@ Data referenced by offset from start of text instead of GOT (with -fPIC/-fPIE).
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0021-Patch-microblaze-Correct-the-const-high-double-immed.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0021-Patch-microblaze-Correct-the-const-high-double-immed.patch
index f362cea8..4ef976b7 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0021-Patch-microblaze-Correct-the-const-high-double-immed.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0021-Patch-microblaze-Correct-the-const-high-double-immed.patch
@@ -1,7 +1,7 @@
1From af01da22797795408d45dcf03076dc8153c7029e Mon Sep 17 00:00:00 2001 1From 1c93b2ce88766f74f1f6d7e0235ffff0b7ca7b81 Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Mon, 9 Nov 2020 21:14:54 +0530 3Date: Mon, 9 Nov 2020 21:14:54 +0530
4Subject: [PATCH 21/54] [Patch, microblaze]: Correct the const high double 4Subject: [PATCH 21/53] [Patch, microblaze]: Correct the const high double
5 immediate value with this patch the loading of the DI mode immediate values 5 immediate value with this patch the loading of the DI mode immediate values
6 will be using REAL_VALUE_FROM_CONST_DOUBLE and REAL_VALUE_TO_TARGET_DOUBLE 6 will be using REAL_VALUE_FROM_CONST_DOUBLE and REAL_VALUE_TO_TARGET_DOUBLE
7 functions, as CONST_DOUBLE_HIGH was returning the sign extension value even 7 functions, as CONST_DOUBLE_HIGH was returning the sign extension value even
@@ -16,7 +16,7 @@ Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
16 create mode 100644 gcc/testsuite/gcc.target/microblaze/others/long.c 16 create mode 100644 gcc/testsuite/gcc.target/microblaze/others/long.c
17 17
18diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c 18diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
19index 0dc96e481b7..5d395f047f7 100644 19index c730faa9814..3b1e992fa28 100644
20--- a/gcc/config/microblaze/microblaze.c 20--- a/gcc/config/microblaze/microblaze.c
21+++ b/gcc/config/microblaze/microblaze.c 21+++ b/gcc/config/microblaze/microblaze.c
22@@ -2452,14 +2452,16 @@ print_operand (FILE * file, rtx op, int letter) 22@@ -2452,14 +2452,16 @@ print_operand (FILE * file, rtx op, int letter)
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0022-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0022-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch
index 3faef052..58c4a146 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0022-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0022-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch
@@ -1,7 +1,7 @@
1From 7349def8102c09fd09e735daa9fc890bee323e79 Mon Sep 17 00:00:00 2001 1From 808c5fecf0eab33e4cb66fb5170b9bf114dbc320 Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Wed, 18 Jan 2017 11:49:58 +0530 3Date: Wed, 18 Jan 2017 11:49:58 +0530
4Subject: [PATCH 22/54] [Fix, microblaze]: Fix internal compiler error with 4Subject: [PATCH 22/53] [Fix, microblaze]: Fix internal compiler error with
5 msmall-divides This patch will fix the internal error 5 msmall-divides This patch will fix the internal error
6 microblaze_expand_divide function which comes because of rtx PLUS where the 6 microblaze_expand_divide function which comes because of rtx PLUS where the
7 mem_rtx is of type SI and the operand is of type QImode. This patch modifies 7 mem_rtx is of type SI and the operand is of type QImode. This patch modifies
@@ -19,7 +19,7 @@ ChangeLog:
19 1 file changed, 1 insertion(+), 1 deletion(-) 19 1 file changed, 1 insertion(+), 1 deletion(-)
20 20
21diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c 21diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
22index 5d395f047f7..29b2f6b016b 100644 22index 3b1e992fa28..94aaeaa3a67 100644
23--- a/gcc/config/microblaze/microblaze.c 23--- a/gcc/config/microblaze/microblaze.c
24+++ b/gcc/config/microblaze/microblaze.c 24+++ b/gcc/config/microblaze/microblaze.c
25@@ -3767,7 +3767,7 @@ microblaze_expand_divide (rtx operands[]) 25@@ -3767,7 +3767,7 @@ microblaze_expand_divide (rtx operands[])
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0023-patch-microblaze-Fix-the-calculation-of-high-word-in.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0023-patch-microblaze-Fix-the-calculation-of-high-word-in.patch
index 1c4f8ca9..62f8f5e5 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0023-patch-microblaze-Fix-the-calculation-of-high-word-in.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0023-patch-microblaze-Fix-the-calculation-of-high-word-in.patch
@@ -1,7 +1,7 @@
1From ad3d0a29a4895351008ce959138c13b8f5924464 Mon Sep 17 00:00:00 2001 1From e6f5b2ba1c03ac3d0521291beb64d64a125e1481 Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Wed, 18 Jan 2017 12:03:39 +0530 3Date: Wed, 18 Jan 2017 12:03:39 +0530
4Subject: [PATCH 23/54] [patch,microblaze]: Fix the calculation of high word in 4Subject: [PATCH 23/53] [patch,microblaze]: Fix the calculation of high word in
5 a long long 6. .4-bit 5 a long long 6. .4-bit
6 6
7This patch will change the calculation of high word in a long long 64-bit. 7This patch will change the calculation of high word in a long long 64-bit.
@@ -27,7 +27,7 @@ ChangeLog:
27 1 file changed, 3 deletions(-) 27 1 file changed, 3 deletions(-)
28 28
29diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c 29diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
30index 29b2f6b016b..4710def18cf 100644 30index 94aaeaa3a67..84e17fc4520 100644
31--- a/gcc/config/microblaze/microblaze.c 31--- a/gcc/config/microblaze/microblaze.c
32+++ b/gcc/config/microblaze/microblaze.c 32+++ b/gcc/config/microblaze/microblaze.c
33@@ -2468,9 +2468,6 @@ print_operand (FILE * file, rtx op, int letter) 33@@ -2468,9 +2468,6 @@ print_operand (FILE * file, rtx op, int letter)
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0025-Patch-microblaze-Fix-bug-in-MB-version-calculation.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0024-Patch-MicroBlaze-this-patch-has.patch
index da24f113..c5c9f416 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0025-Patch-microblaze-Fix-bug-in-MB-version-calculation.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0024-Patch-MicroBlaze-this-patch-has.patch
@@ -1,21 +1,30 @@
1From cb67b2e64c0d5bd32d36cb32def5f889122fc37a Mon Sep 17 00:00:00 2001 1From 5b81fec66287856abfe7def27e245fe73e60fe5e Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Wed, 18 Jan 2017 12:42:10 +0530 3Date: Tue, 26 Oct 2021 21:11:21 +0530
4Subject: [PATCH 25/54] [Patch, microblaze]: Fix bug in MB version calculation 4Subject: [PATCH 24/53] [Patch,MicroBlaze] : this patch has 1.Fixed the bug in
5 This patch fixes the bug in microblaze_version_to_int function. Earlier the 5 version calculation. 2.Add new bitfield instructions.
6 conversion of vXX.YY.Z to int has a bug which is fixed now.
7 6
8Signed-off-by : Mahesh Bodapati <mbodapat@xilinx.com>
9 Nagaraju Mekala <nmekala@xilix.com>
10--- 7---
11 gcc/config/microblaze/microblaze.c | 147 ++++++++++++++--------------- 8 gcc/config/microblaze/microblaze.c | 154 ++++++++++++++--------------
12 1 file changed, 70 insertions(+), 77 deletions(-) 9 gcc/config/microblaze/microblaze.h | 2 +
10 gcc/config/microblaze/microblaze.md | 69 +++++++++++++
11 3 files changed, 147 insertions(+), 78 deletions(-)
13 12
14diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c 13diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
15index 14c652325a8..451db9c79b0 100644 14index 84e17fc4520..9f94d015597 100644
16--- a/gcc/config/microblaze/microblaze.c 15--- a/gcc/config/microblaze/microblaze.c
17+++ b/gcc/config/microblaze/microblaze.c 16+++ b/gcc/config/microblaze/microblaze.c
18@@ -242,6 +242,63 @@ section *sdata2_section; 17@@ -164,6 +164,9 @@ int microblaze_no_unsafe_delay;
18 /* Set to one if the targeted core has the CLZ insn. */
19 int microblaze_has_clz = 0;
20
21+/* Set to one if the targeted core has barrel-shift and cpu > 10.0 */
22+int microblaze_has_bitfield = 0;
23+
24 /* Which CPU pipeline do we use. We haven't really standardized on a CPU
25 version having only a particular type of pipeline. There can still be
26 options on the CPU to scale pipeline features up or down. :(
27@@ -239,6 +242,63 @@ section *sdata2_section;
19 #define TARGET_HAVE_TLS true 28 #define TARGET_HAVE_TLS true
20 #endif 29 #endif
21 30
@@ -79,7 +88,7 @@ index 14c652325a8..451db9c79b0 100644
79 /* Return truth value if a CONST_DOUBLE is ok to be a legitimate constant. */ 88 /* Return truth value if a CONST_DOUBLE is ok to be a legitimate constant. */
80 static bool 89 static bool
81 microblaze_const_double_ok (rtx op, machine_mode mode) 90 microblaze_const_double_ok (rtx op, machine_mode mode)
82@@ -1341,8 +1398,7 @@ microblaze_rtx_costs (rtx x, machine_mode mode, int outer_code ATTRIBUTE_UNUSED, 91@@ -1338,8 +1398,7 @@ microblaze_rtx_costs (rtx x, machine_mode mode, int outer_code ATTRIBUTE_UNUSED,
83 { 92 {
84 if (TARGET_BARREL_SHIFT) 93 if (TARGET_BARREL_SHIFT)
85 { 94 {
@@ -89,7 +98,7 @@ index 14c652325a8..451db9c79b0 100644
89 *total = COSTS_N_INSNS (1); 98 *total = COSTS_N_INSNS (1);
90 else 99 else
91 *total = COSTS_N_INSNS (2); 100 *total = COSTS_N_INSNS (2);
92@@ -1403,8 +1459,7 @@ microblaze_rtx_costs (rtx x, machine_mode mode, int outer_code ATTRIBUTE_UNUSED, 101@@ -1400,8 +1459,7 @@ microblaze_rtx_costs (rtx x, machine_mode mode, int outer_code ATTRIBUTE_UNUSED,
93 } 102 }
94 else if (!TARGET_SOFT_MUL) 103 else if (!TARGET_SOFT_MUL)
95 { 104 {
@@ -99,7 +108,7 @@ index 14c652325a8..451db9c79b0 100644
99 *total = COSTS_N_INSNS (1); 108 *total = COSTS_N_INSNS (1);
100 else 109 else
101 *total = COSTS_N_INSNS (3); 110 *total = COSTS_N_INSNS (3);
102@@ -1677,72 +1732,13 @@ function_arg_partial_bytes (cumulative_args_t cum_v, 111@@ -1674,72 +1732,13 @@ function_arg_partial_bytes (cumulative_args_t cum_v,
103 return 0; 112 return 0;
104 } 113 }
105 114
@@ -173,7 +182,7 @@ index 14c652325a8..451db9c79b0 100644
173 182
174 microblaze_section_threshold = (global_options_set.x_g_switch_value 183 microblaze_section_threshold = (global_options_set.x_g_switch_value
175 ? g_switch_value 184 ? g_switch_value
176@@ -1763,13 +1759,13 @@ microblaze_option_override (void) 185@@ -1760,13 +1759,13 @@ microblaze_option_override (void)
177 /* Check the MicroBlaze CPU version for any special action to be done. */ 186 /* Check the MicroBlaze CPU version for any special action to be done. */
178 if (microblaze_select_cpu == NULL) 187 if (microblaze_select_cpu == NULL)
179 microblaze_select_cpu = MICROBLAZE_DEFAULT_CPU; 188 microblaze_select_cpu = MICROBLAZE_DEFAULT_CPU;
@@ -190,7 +199,7 @@ index 14c652325a8..451db9c79b0 100644
190 if (ver < 0) 199 if (ver < 0)
191 { 200 {
192 /* No hardware exceptions in earlier versions. So no worries. */ 201 /* No hardware exceptions in earlier versions. So no worries. */
193@@ -1780,8 +1776,7 @@ microblaze_option_override (void) 202@@ -1777,8 +1776,7 @@ microblaze_option_override (void)
194 microblaze_pipe = MICROBLAZE_PIPE_3; 203 microblaze_pipe = MICROBLAZE_PIPE_3;
195 } 204 }
196 else if (ver == 0 205 else if (ver == 0
@@ -200,7 +209,7 @@ index 14c652325a8..451db9c79b0 100644
200 { 209 {
201 #if 0 210 #if 0
202 microblaze_select_flags |= (MICROBLAZE_MASK_NO_UNSAFE_DELAY); 211 microblaze_select_flags |= (MICROBLAZE_MASK_NO_UNSAFE_DELAY);
203@@ -1798,11 +1793,9 @@ microblaze_option_override (void) 212@@ -1795,11 +1793,9 @@ microblaze_option_override (void)
204 #endif 213 #endif
205 microblaze_no_unsafe_delay = 0; 214 microblaze_no_unsafe_delay = 0;
206 microblaze_pipe = MICROBLAZE_PIPE_5; 215 microblaze_pipe = MICROBLAZE_PIPE_5;
@@ -215,7 +224,7 @@ index 14c652325a8..451db9c79b0 100644
215 { 224 {
216 /* Pattern compares are to be turned on by default only when 225 /* Pattern compares are to be turned on by default only when
217 compiling for MB v5.00.'z'. */ 226 compiling for MB v5.00.'z'. */
218@@ -1810,7 +1803,7 @@ microblaze_option_override (void) 227@@ -1807,7 +1803,7 @@ microblaze_option_override (void)
219 } 228 }
220 } 229 }
221 230
@@ -224,7 +233,7 @@ index 14c652325a8..451db9c79b0 100644
224 if (ver < 0) 233 if (ver < 0)
225 { 234 {
226 if (TARGET_MULTIPLY_HIGH) 235 if (TARGET_MULTIPLY_HIGH)
227@@ -1819,7 +1812,7 @@ microblaze_option_override (void) 236@@ -1816,7 +1812,7 @@ microblaze_option_override (void)
228 "%<-mcpu=v6.00.a%> or greater"); 237 "%<-mcpu=v6.00.a%> or greater");
229 } 238 }
230 239
@@ -233,7 +242,7 @@ index 14c652325a8..451db9c79b0 100644
233 microblaze_has_clz = 1; 242 microblaze_has_clz = 1;
234 if (ver < 0) 243 if (ver < 0)
235 { 244 {
236@@ -1828,7 +1821,7 @@ microblaze_option_override (void) 245@@ -1825,7 +1821,7 @@ microblaze_option_override (void)
237 } 246 }
238 247
239 /* TARGET_REORDER defaults to 2 if -mxl-reorder not specified. */ 248 /* TARGET_REORDER defaults to 2 if -mxl-reorder not specified. */
@@ -242,6 +251,122 @@ index 14c652325a8..451db9c79b0 100644
242 if (ver < 0) 251 if (ver < 0)
243 { 252 {
244 if (TARGET_REORDER == 1) 253 if (TARGET_REORDER == 1)
254@@ -1840,7 +1836,7 @@ microblaze_option_override (void)
255 "%<-mcpu=v8.30.a%>");
256 TARGET_REORDER = 0;
257 }
258- ver = microblaze_version_to_int("v10.0");
259+ ver = ver_int - microblaze_version_to_int("v10.0");
260 if (ver < 0)
261 {
262 if (TARGET_AREA_OPTIMIZED_2)
263@@ -1850,6 +1846,8 @@ microblaze_option_override (void)
264 {
265 if (TARGET_AREA_OPTIMIZED_2)
266 microblaze_pipe = MICROBLAZE_PIPE_8;
267+ if (TARGET_BARREL_SHIFT)
268+ microblaze_has_bitfield = 1;
269 }
270
271 if (TARGET_MULTIPLY_HIGH && TARGET_SOFT_MUL)
272diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
273index 21560ec1618..6aac8a6cc2a 100644
274--- a/gcc/config/microblaze/microblaze.h
275+++ b/gcc/config/microblaze/microblaze.h
276@@ -44,6 +44,7 @@ extern int microblaze_dbx_regno[];
277
278 extern int microblaze_no_unsafe_delay;
279 extern int microblaze_has_clz;
280+extern int microblaze_has_bitfield;
281 extern enum pipeline_type microblaze_pipe;
282
283 #define OBJECT_FORMAT_ELF
284@@ -63,6 +64,7 @@ extern enum pipeline_type microblaze_pipe;
285 /* Do we have CLZ? */
286 #define TARGET_HAS_CLZ (TARGET_PATTERN_COMPARE && microblaze_has_clz)
287
288+#define TARGET_HAS_BITFIELD (TARGET_BARREL_SHIFT && microblaze_has_bitfield)
289 /* The default is to support PIC. */
290 #define TARGET_SUPPORTS_PIC 1
291
292diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
293index ce72acb9ee0..fc3326b2314 100644
294--- a/gcc/config/microblaze/microblaze.md
295+++ b/gcc/config/microblaze/microblaze.md
296@@ -2489,4 +2489,73 @@
297 DONE;
298 }")
299
300+(define_expand "extvsi"
301+ [(set (match_operand:SI 0 "register_operand" "r")
302+ (zero_extract:SI (match_operand:SI 1 "register_operand" "r")
303+ (match_operand:SI 2 "immediate_operand" "I")
304+ (match_operand:SI 3 "immediate_operand" "I")))]
305+"TARGET_HAS_BITFIELD"
306+"
307+{
308+ unsigned HOST_WIDE_INT len = UINTVAL (operands[2]);
309+ unsigned HOST_WIDE_INT pos = UINTVAL (operands[3]);
310+
311+ if ((len == 0) || (pos + len > 32) )
312+ FAIL;
313+
314+ ;;if (!register_operand (operands[1], VOIDmode))
315+ ;; FAIL;
316+ if (operands[0] == operands[1])
317+ FAIL;
318+ if (GET_CODE (operands[1]) == ASHIFT)
319+ FAIL;
320+;; operands[2] = GEN_INT(INTVAL(operands[2])+1 );
321+ emit_insn (gen_extv_32 (operands[0], operands[1],
322+ operands[2], operands[3]));
323+ DONE;
324+}")
325+
326+(define_insn "extv_32"
327+ [(set (match_operand:SI 0 "register_operand" "=r")
328+ (zero_extract:SI (match_operand:SI 1 "register_operand" "r")
329+ (match_operand:SI 2 "immediate_operand" "I")
330+ (match_operand:SI 3 "immediate_operand" "I")))]
331+ "TARGET_HAS_BITFIELD && (UINTVAL (operands[2]) > 0)
332+ && ((UINTVAL (operands[2]) + UINTVAL (operands[3])) <= 32)"
333+ "bsefi %0,%1,%2,%3"
334+ [(set_attr "type" "bshift")
335+ (set_attr "length" "4")])
336+
337+(define_expand "insvsi"
338+ [(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r")
339+ (match_operand:SI 1 "immediate_operand" "I")
340+ (match_operand:SI 2 "immediate_operand" "I"))
341+ (match_operand:SI 3 "register_operand" "r"))]
342+ "TARGET_HAS_BITFIELD"
343+ "
344+{
345+ unsigned HOST_WIDE_INT len = UINTVAL (operands[1]);
346+ unsigned HOST_WIDE_INT pos = UINTVAL (operands[2]);
347+
348+ if (len <= 0 || pos + len > 32)
349+ FAIL;
350+
351+ ;;if (!register_operand (operands[0], VOIDmode))
352+ ;; FAIL;
353+ emit_insn (gen_insv_32 (operands[0], operands[1],
354+ operands[2], operands[3]));
355+ DONE;
356+}")
357+
358+(define_insn "insv_32"
359+ [(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r")
360+ (match_operand:SI 1 "immediate_operand" "I")
361+ (match_operand:SI 2 "immediate_operand" "I"))
362+ (match_operand:SI 3 "register_operand" "r"))]
363+ "TARGET_HAS_BITFIELD && UINTVAL (operands[1]) > 0
364+ && UINTVAL (operands[1]) + UINTVAL (operands[2]) <= 32"
365+ "bsifi %0, %3, %1, %2"
366+ [(set_attr "type" "bshift")
367+ (set_attr "length" "4")])
368+
369 (include "sync.md")
245-- 370--
2462.17.1 3712.17.1
247 372
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0024-Patch-microblaze-Add-new-bit-field-instructions.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0024-Patch-microblaze-Add-new-bit-field-instructions.patch
deleted file mode 100644
index 590cb38c..00000000
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0024-Patch-microblaze-Add-new-bit-field-instructions.patch
+++ /dev/null
@@ -1,162 +0,0 @@
1From 50f5f8341ba39f2e12eef4a149e59f71f032f7d3 Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Tue, 10 Nov 2020 09:51:24 +0530
4Subject: [PATCH 24/54] [Patch, microblaze]: Add new bit-field instructions
5
6This patches adds new bsefi and bsifi instructions.
7BSEFI- The instruction shall extract a bit field from a
8register and place it right-adjusted in the destination register.
9The other bits in the destination register shall be set to zero
10BSIFI- The instruction shall insert a right-adjusted bit field
11from a register at another position in the destination register.
12The rest of the bits in the destination register shall be unchanged
13
14Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
15---
16 gcc/config/microblaze/microblaze.c | 5 ++
17 gcc/config/microblaze/microblaze.h | 2 +
18 gcc/config/microblaze/microblaze.md | 73 +++++++++++++++++++++++++++++
19 3 files changed, 80 insertions(+)
20
21diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
22index 4710def18cf..14c652325a8 100644
23--- a/gcc/config/microblaze/microblaze.c
24+++ b/gcc/config/microblaze/microblaze.c
25@@ -164,6 +164,9 @@ int microblaze_no_unsafe_delay;
26 /* Set to one if the targeted core has the CLZ insn. */
27 int microblaze_has_clz = 0;
28
29+/* Set to one if the targeted core has barrel-shift and cpu > 10.0 */
30+int microblaze_has_bitfield = 0;
31+
32 /* Which CPU pipeline do we use. We haven't really standardized on a CPU
33 version having only a particular type of pipeline. There can still be
34 options on the CPU to scale pipeline features up or down. :(
35@@ -1850,6 +1853,8 @@ microblaze_option_override (void)
36 {
37 if (TARGET_AREA_OPTIMIZED_2)
38 microblaze_pipe = MICROBLAZE_PIPE_8;
39+ if (TARGET_BARREL_SHIFT)
40+ microblaze_has_bitfield = 1;
41 }
42
43 if (TARGET_MULTIPLY_HIGH && TARGET_SOFT_MUL)
44diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
45index 8a668278337..857cb1cd9d0 100644
46--- a/gcc/config/microblaze/microblaze.h
47+++ b/gcc/config/microblaze/microblaze.h
48@@ -44,6 +44,7 @@ extern int microblaze_dbx_regno[];
49
50 extern int microblaze_no_unsafe_delay;
51 extern int microblaze_has_clz;
52+extern int microblaze_has_bitfield;
53 extern enum pipeline_type microblaze_pipe;
54
55 #define OBJECT_FORMAT_ELF
56@@ -63,6 +64,7 @@ extern enum pipeline_type microblaze_pipe;
57 /* Do we have CLZ? */
58 #define TARGET_HAS_CLZ (TARGET_PATTERN_COMPARE && microblaze_has_clz)
59
60+#define TARGET_HAS_BITFIELD (TARGET_BARREL_SHIFT && microblaze_has_bitfield)
61 /* The default is to support PIC. */
62 #define TARGET_SUPPORTS_PIC 1
63
64diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
65index c407a81c51e..3e6e2b9276d 100644
66--- a/gcc/config/microblaze/microblaze.md
67+++ b/gcc/config/microblaze/microblaze.md
68@@ -982,6 +982,8 @@
69 (set_attr "mode" "DI")
70 (set_attr "length" "20,20,20")])
71
72+
73+
74 ;;----------------------------------------------------------------
75 ;; Data movement
76 ;;----------------------------------------------------------------
77@@ -1776,6 +1778,7 @@
78 (set_attr "length" "28")]
79 )
80
81+
82 ;;----------------------------------------------------------------
83 ;; Setting a register from an integer comparison.
84 ;;----------------------------------------------------------------
85@@ -2489,4 +2492,74 @@
86 DONE;
87 }")
88
89+(define_expand "extvsi"
90+ [(set (match_operand:SI 0 "register_operand" "r")
91+ (zero_extract:SI (match_operand:SI 1 "register_operand" "r")
92+ (match_operand:SI 2 "immediate_operand" "I")
93+ (match_operand:SI 3 "immediate_operand" "I")))]
94+""
95+"
96+{
97+ unsigned HOST_WIDE_INT len = UINTVAL (operands[2]);
98+ unsigned HOST_WIDE_INT pos = UINTVAL (operands[3]);
99+
100+ if ((len == 0) || (pos + len > 32) )
101+ FAIL;
102+
103+ ;;if (!register_operand (operands[1], VOIDmode))
104+ ;; FAIL;
105+ if (operands[0] == operands[1])
106+ FAIL;
107+ if (GET_CODE (operands[1]) == ASHIFT)
108+ FAIL;
109+;; operands[2] = GEN_INT(INTVAL(operands[2])+1 );
110+ emit_insn (gen_extv_32 (operands[0], operands[1],
111+ operands[2], operands[3]));
112+ DONE;
113+}")
114+
115+(define_insn "extv_32"
116+ [(set (match_operand:SI 0 "register_operand" "=r")
117+ (zero_extract:SI (match_operand:SI 1 "register_operand" "r")
118+ (match_operand:SI 2 "immediate_operand" "I")
119+ (match_operand:SI 3 "immediate_operand" "I")))]
120+ "TARGET_BARREL_SHIFT && (UINTVAL (operands[2]) > 0)
121+ && ((UINTVAL (operands[2]) + UINTVAL (operands[3])) <= 32)"
122+ "bsefi %0,%1,%2,%3"
123+ [(set_attr "type" "bshift")
124+ (set_attr "length" "4")])
125+
126+(define_expand "insvsi"
127+ [(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r")
128+ (match_operand:SI 1 "immediate_operand" "I")
129+ (match_operand:SI 2 "immediate_operand" "I"))
130+ (match_operand:SI 3 "register_operand" "r"))]
131+ ""
132+ "
133+{
134+ unsigned HOST_WIDE_INT len = UINTVAL (operands[1]);
135+ unsigned HOST_WIDE_INT pos = UINTVAL (operands[2]);
136+
137+ if (len <= 0 || pos + len > 32)
138+ FAIL;
139+
140+ ;;if (!register_operand (operands[0], VOIDmode))
141+ ;; FAIL;
142+
143+ emit_insn (gen_insv_32 (operands[0], operands[1],
144+ operands[2], operands[3]));
145+ DONE;
146+}")
147+
148+(define_insn "insv_32"
149+ [(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r")
150+ (match_operand:SI 1 "immediate_operand" "I")
151+ (match_operand:SI 2 "immediate_operand" "I"))
152+ (match_operand:SI 3 "register_operand" "r"))]
153+ "TARGET_BARREL_SHIFT && UINTVAL (operands[1]) > 0
154+ && UINTVAL (operands[1]) + UINTVAL (operands[2]) <= 32"
155+ "bsifi %0, %3, %1, %2"
156+ [(set_attr "type" "bshift")
157+ (set_attr "length" "4")])
158+
159 (include "sync.md")
160--
1612.17.1
162
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0026-Fixing-the-issue-with-the-builtin_alloc.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0025-Fixing-the-issue-with-the-builtin_alloc.patch
index c0719f6e..f8c438c2 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0026-Fixing-the-issue-with-the-builtin_alloc.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0025-Fixing-the-issue-with-the-builtin_alloc.patch
@@ -1,7 +1,7 @@
1From fdb2f23a69182da516c7bf89a9e0011e55120f94 Mon Sep 17 00:00:00 2001 1From 18f970e2dd79c67cefeeaa6634f959be19d1a6ad Mon Sep 17 00:00:00 2001
2From: Nagaraju Mekala <nmekala@xilix.com> 2From: Nagaraju Mekala <nmekala@xilix.com>
3Date: Thu, 23 Feb 2017 17:09:04 +0530 3Date: Thu, 23 Feb 2017 17:09:04 +0530
4Subject: [PATCH 26/54] Fixing the issue with the builtin_alloc. register r18 4Subject: [PATCH 25/53] Fixing the issue with the builtin_alloc. register r18
5 was not properly handling the stack pattern which was resolved by using free 5 was not properly handling the stack pattern which was resolved by using free
6 available register 6 available register
7 7
@@ -11,10 +11,10 @@ signed-off-by:nagaraju mekala <nmekala@xilinx.com>
11 1 file changed, 4 insertions(+), 4 deletions(-) 11 1 file changed, 4 insertions(+), 4 deletions(-)
12 12
13diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md 13diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
14index 3e6e2b9276d..d938efcd762 100644 14index fc3326b2314..0b3dbdd4a70 100644
15--- a/gcc/config/microblaze/microblaze.md 15--- a/gcc/config/microblaze/microblaze.md
16+++ b/gcc/config/microblaze/microblaze.md 16+++ b/gcc/config/microblaze/microblaze.md
17@@ -2078,10 +2078,10 @@ 17@@ -2075,10 +2075,10 @@
18 "" 18 ""
19 { 19 {
20 rtx retaddr = gen_rtx_MEM (Pmode, stack_pointer_rtx); 20 rtx retaddr = gen_rtx_MEM (Pmode, stack_pointer_rtx);
@@ -27,7 +27,7 @@ index 3e6e2b9276d..d938efcd762 100644
27 if (GET_CODE (operands[1]) != CONST_INT) 27 if (GET_CODE (operands[1]) != CONST_INT)
28 { 28 {
29 neg_op0 = gen_reg_rtx (Pmode); 29 neg_op0 = gen_reg_rtx (Pmode);
30@@ -2090,9 +2090,9 @@ 30@@ -2087,9 +2087,9 @@
31 neg_op0 = GEN_INT (- INTVAL (operands[1])); 31 neg_op0 = GEN_INT (- INTVAL (operands[1]));
32 32
33 emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, neg_op0)); 33 emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, neg_op0));
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0028-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0026-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch
index f12cea24..e895ddbd 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0028-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0026-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch
@@ -1,7 +1,7 @@
1From e4f5435e6e77afe0150bf36ec9d3d055cf25a089 Mon Sep 17 00:00:00 2001 1From 45f4d3915c2194183a87ca54bd9ecf68eeccba4d Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Mon, 4 Jun 2018 10:10:18 +0530 3Date: Mon, 4 Jun 2018 10:10:18 +0530
4Subject: [PATCH 28/54] [Patch,Microblaze] : Removed fsqrt generation for 4Subject: [PATCH 26/53] [Patch,Microblaze] : Removed fsqrt generation for
5 double values. 5 double values.
6 6
7--- 7---
@@ -9,7 +9,7 @@ Subject: [PATCH 28/54] [Patch,Microblaze] : Removed fsqrt generation for
9 1 file changed, 14 deletions(-) 9 1 file changed, 14 deletions(-)
10 10
11diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md 11diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
12index 63ad94b972f..7695b105baa 100644 12index 0b3dbdd4a70..9dd12d1011b 100644
13--- a/gcc/config/microblaze/microblaze.md 13--- a/gcc/config/microblaze/microblaze.md
14+++ b/gcc/config/microblaze/microblaze.md 14+++ b/gcc/config/microblaze/microblaze.md
15@@ -526,20 +526,6 @@ 15@@ -526,20 +526,6 @@
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0029-Patch-MicroBlaze-Intial-commit-of-64-bit-Microblaze.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0027-Patch-MicroBlaze-Intial-commit-of-64-bit-Microblaze.patch
index d9603721..140332aa 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0029-Patch-MicroBlaze-Intial-commit-of-64-bit-Microblaze.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0027-Patch-MicroBlaze-Intial-commit-of-64-bit-Microblaze.patch
@@ -1,20 +1,22 @@
1From 1a7fda96cb247bad0a4df61cd8fd3e65c0e6f35d Mon Sep 17 00:00:00 2001 1From dba8e9e148812774d94f584cdff7b6e0293081b5 Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Tue, 10 Nov 2020 12:52:54 +0530 3Date: Tue, 10 Nov 2020 12:52:54 +0530
4Subject: [PATCH 29/54] [Patch,MicroBlaze]: Intial commit of 64-bit Microblaze 4Subject: [PATCH 27/53] [Patch,MicroBlaze]: Intial commit of 64-bit Microblaze
5 5
6Conflicts:
7 gcc/config/microblaze/microblaze.md
6--- 8---
7 gcc/config/microblaze/constraints.md | 6 + 9 gcc/config/microblaze/constraints.md | 6 +
8 gcc/config/microblaze/microblaze-protos.h | 1 + 10 gcc/config/microblaze/microblaze-protos.h | 1 +
9 gcc/config/microblaze/microblaze.c | 109 ++++-- 11 gcc/config/microblaze/microblaze.c | 109 +++++--
10 gcc/config/microblaze/microblaze.h | 4 +- 12 gcc/config/microblaze/microblaze.h | 4 +-
11 gcc/config/microblaze/microblaze.md | 395 +++++++++++++++++++++- 13 gcc/config/microblaze/microblaze.md | 352 +++++++++++++++++++++-
12 gcc/config/microblaze/microblaze.opt | 7 +- 14 gcc/config/microblaze/microblaze.opt | 7 +-
13 gcc/config/microblaze/t-microblaze | 7 +- 15 gcc/config/microblaze/t-microblaze | 7 +-
14 7 files changed, 492 insertions(+), 37 deletions(-) 16 7 files changed, 456 insertions(+), 30 deletions(-)
15 17
16diff --git a/gcc/config/microblaze/constraints.md b/gcc/config/microblaze/constraints.md 18diff --git a/gcc/config/microblaze/constraints.md b/gcc/config/microblaze/constraints.md
17index b9fc6e3fae2..123395717e0 100644 19index b4d7ee329b8..95b21d58f88 100644
18--- a/gcc/config/microblaze/constraints.md 20--- a/gcc/config/microblaze/constraints.md
19+++ b/gcc/config/microblaze/constraints.md 21+++ b/gcc/config/microblaze/constraints.md
20@@ -52,6 +52,12 @@ 22@@ -52,6 +52,12 @@
@@ -31,7 +33,7 @@ index b9fc6e3fae2..123395717e0 100644
31 33
32 (define_constraint "G" 34 (define_constraint "G"
33diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h 35diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h
34index c2f88813a8d..460feac4ac5 100644 36index 3a5f439703c..302f6bbda2e 100644
35--- a/gcc/config/microblaze/microblaze-protos.h 37--- a/gcc/config/microblaze/microblaze-protos.h
36+++ b/gcc/config/microblaze/microblaze-protos.h 38+++ b/gcc/config/microblaze/microblaze-protos.h
37@@ -36,6 +36,7 @@ extern void microblaze_expand_divide (rtx *); 39@@ -36,6 +36,7 @@ extern void microblaze_expand_divide (rtx *);
@@ -43,7 +45,7 @@ index c2f88813a8d..460feac4ac5 100644
43 extern void print_operand (FILE *, rtx, int); 45 extern void print_operand (FILE *, rtx, int);
44 extern void print_operand_address (FILE *, rtx); 46 extern void print_operand_address (FILE *, rtx);
45diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c 47diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
46index 451db9c79b0..99a1cd5c0be 100644 48index 9f94d015597..58d7397945e 100644
47--- a/gcc/config/microblaze/microblaze.c 49--- a/gcc/config/microblaze/microblaze.c
48+++ b/gcc/config/microblaze/microblaze.c 50+++ b/gcc/config/microblaze/microblaze.c
49@@ -3432,11 +3432,11 @@ microblaze_expand_move (machine_mode mode, rtx operands[]) 51@@ -3432,11 +3432,11 @@ microblaze_expand_move (machine_mode mode, rtx operands[])
@@ -234,7 +236,7 @@ index 451db9c79b0..99a1cd5c0be 100644
234 236
235 static bool 237 static bool
236diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h 238diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
237index 857cb1cd9d0..c0358603380 100644 239index 6aac8a6cc2a..22fc3509319 100644
238--- a/gcc/config/microblaze/microblaze.h 240--- a/gcc/config/microblaze/microblaze.h
239+++ b/gcc/config/microblaze/microblaze.h 241+++ b/gcc/config/microblaze/microblaze.h
240@@ -102,6 +102,7 @@ extern enum pipeline_type microblaze_pipe; 242@@ -102,6 +102,7 @@ extern enum pipeline_type microblaze_pipe;
@@ -263,7 +265,7 @@ index 857cb1cd9d0..c0358603380 100644
263 #define FLOAT_TYPE_SIZE 32 265 #define FLOAT_TYPE_SIZE 32
264 #define DOUBLE_TYPE_SIZE 64 266 #define DOUBLE_TYPE_SIZE 64
265diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md 267diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
266index 7695b105baa..4d8429d9a90 100644 268index 9dd12d1011b..3834725eec1 100644
267--- a/gcc/config/microblaze/microblaze.md 269--- a/gcc/config/microblaze/microblaze.md
268+++ b/gcc/config/microblaze/microblaze.md 270+++ b/gcc/config/microblaze/microblaze.md
269@@ -497,7 +497,6 @@ 271@@ -497,7 +497,6 @@
@@ -456,7 +458,7 @@ index 7695b105baa..4d8429d9a90 100644
456 ;; Those for integer source operand are ordered 458 ;; Those for integer source operand are ordered
457 ;; widest source type first. 459 ;; widest source type first.
458 460
459@@ -1011,6 +1122,32 @@ 461@@ -1009,6 +1120,32 @@
460 ) 462 )
461 463
462 464
@@ -489,7 +491,7 @@ index 7695b105baa..4d8429d9a90 100644
489 491
490 (define_insn "*movdi_internal" 492 (define_insn "*movdi_internal"
491 [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d,d,d,R,o") 493 [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d,d,d,R,o")
492@@ -1423,6 +1560,36 @@ 494@@ -1421,6 +1558,36 @@
493 (set_attr "length" "4,4")] 495 (set_attr "length" "4,4")]
494 ) 496 )
495 497
@@ -526,7 +528,7 @@ index 7695b105baa..4d8429d9a90 100644
526 ;; The following patterns apply when there is no barrel shifter present 528 ;; The following patterns apply when there is no barrel shifter present
527 529
528 (define_insn "*ashlsi3_with_mul_delay" 530 (define_insn "*ashlsi3_with_mul_delay"
529@@ -1548,6 +1715,36 @@ 531@@ -1546,6 +1713,36 @@
530 ;;---------------------------------------------------------------- 532 ;;----------------------------------------------------------------
531 ;; 32-bit right shifts 533 ;; 32-bit right shifts
532 ;;---------------------------------------------------------------- 534 ;;----------------------------------------------------------------
@@ -563,7 +565,7 @@ index 7695b105baa..4d8429d9a90 100644
563 (define_expand "ashrsi3" 565 (define_expand "ashrsi3"
564 [(set (match_operand:SI 0 "register_operand" "=&d") 566 [(set (match_operand:SI 0 "register_operand" "=&d")
565 (ashiftrt:SI (match_operand:SI 1 "register_operand" "d") 567 (ashiftrt:SI (match_operand:SI 1 "register_operand" "d")
566@@ -1657,6 +1854,36 @@ 568@@ -1655,6 +1852,36 @@
567 ;;---------------------------------------------------------------- 569 ;;----------------------------------------------------------------
568 ;; 32-bit right shifts (logical) 570 ;; 32-bit right shifts (logical)
569 ;;---------------------------------------------------------------- 571 ;;----------------------------------------------------------------
@@ -600,7 +602,7 @@ index 7695b105baa..4d8429d9a90 100644
600 602
601 (define_expand "lshrsi3" 603 (define_expand "lshrsi3"
602 [(set (match_operand:SI 0 "register_operand" "=&d") 604 [(set (match_operand:SI 0 "register_operand" "=&d")
603@@ -1803,6 +2030,8 @@ 605@@ -1800,6 +2027,8 @@
604 (set_attr "length" "4")] 606 (set_attr "length" "4")]
605 ) 607 )
606 608
@@ -609,7 +611,7 @@ index 7695b105baa..4d8429d9a90 100644
609 ;;---------------------------------------------------------------- 611 ;;----------------------------------------------------------------
610 ;; Setting a register from an floating point comparison. 612 ;; Setting a register from an floating point comparison.
611 ;;---------------------------------------------------------------- 613 ;;----------------------------------------------------------------
612@@ -1818,6 +2047,18 @@ 614@@ -1815,6 +2044,18 @@
613 (set_attr "length" "4")] 615 (set_attr "length" "4")]
614 ) 616 )
615 617
@@ -628,7 +630,7 @@ index 7695b105baa..4d8429d9a90 100644
628 ;;---------------------------------------------------------------- 630 ;;----------------------------------------------------------------
629 ;; Conditional branches 631 ;; Conditional branches
630 ;;---------------------------------------------------------------- 632 ;;----------------------------------------------------------------
631@@ -1930,6 +2171,115 @@ 633@@ -1927,6 +2168,115 @@
632 (set_attr "length" "12")] 634 (set_attr "length" "12")]
633 ) 635 )
634 636
@@ -744,71 +746,8 @@ index 7695b105baa..4d8429d9a90 100644
744 ;;---------------------------------------------------------------- 746 ;;----------------------------------------------------------------
745 ;; Unconditional branches 747 ;; Unconditional branches
746 ;;---------------------------------------------------------------- 748 ;;----------------------------------------------------------------
747@@ -2478,17 +2828,33 @@
748 DONE;
749 }")
750
751-(define_expand "extzvsi"
752+(define_expand "extvsi"
753 [(set (match_operand:SI 0 "register_operand" "r")
754 (zero_extract:SI (match_operand:SI 1 "register_operand" "r")
755 (match_operand:SI 2 "immediate_operand" "I")
756 (match_operand:SI 3 "immediate_operand" "I")))]
757 "TARGET_HAS_BITFIELD"
758-""
759-)
760-
761+"
762+{
763+ unsigned HOST_WIDE_INT len = UINTVAL (operands[2]);
764+ unsigned HOST_WIDE_INT pos = UINTVAL (operands[3]);
765+
766+ if ((len == 0) || (pos + len > 32) )
767+ FAIL;
768+
769+ ;;if (!register_operand (operands[1], VOIDmode))
770+ ;; FAIL;
771+ if (operands[0] == operands[1])
772+ FAIL;
773+ if (GET_CODE (operands[1]) == ASHIFT)
774+ FAIL;
775+;; operands[2] = GEN_INT(INTVAL(operands[2])+1 );
776+ emit_insn (gen_extv_32 (operands[0], operands[1],
777+ operands[2], operands[3]));
778+ DONE;
779+}")
780
781-(define_insn "extzv_32"
782+(define_insn "extv_32"
783 [(set (match_operand:SI 0 "register_operand" "=r")
784 (zero_extract:SI (match_operand:SI 1 "register_operand" "r")
785 (match_operand:SI 2 "immediate_operand" "I")
786@@ -2505,8 +2871,21 @@
787 (match_operand:SI 2 "immediate_operand" "I"))
788 (match_operand:SI 3 "register_operand" "r"))]
789 "TARGET_HAS_BITFIELD"
790-""
791-)
792+ "
793+{
794+ unsigned HOST_WIDE_INT len = UINTVAL (operands[1]);
795+ unsigned HOST_WIDE_INT pos = UINTVAL (operands[2]);
796+
797+ if (len <= 0 || pos + len > 32)
798+ FAIL;
799+
800+ ;;if (!register_operand (operands[0], VOIDmode))
801+ ;; FAIL;
802+
803+ emit_insn (gen_insv_32 (operands[0], operands[1],
804+ operands[2], operands[3]));
805+ DONE;
806+}")
807
808 (define_insn "insv_32"
809 [(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r")
810diff --git a/gcc/config/microblaze/microblaze.opt b/gcc/config/microblaze/microblaze.opt 749diff --git a/gcc/config/microblaze/microblaze.opt b/gcc/config/microblaze/microblaze.opt
811index a29c6f8df90..bbe48b06da6 100644 750index 2a72566372b..206899c0384 100644
812--- a/gcc/config/microblaze/microblaze.opt 751--- a/gcc/config/microblaze/microblaze.opt
813+++ b/gcc/config/microblaze/microblaze.opt 752+++ b/gcc/config/microblaze/microblaze.opt
814@@ -136,4 +136,9 @@ Target 753@@ -136,4 +136,9 @@ Target
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0027-Patch-Microblaze-update-in-constraints-for-bitfield-.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0027-Patch-Microblaze-update-in-constraints-for-bitfield-.patch
deleted file mode 100644
index 7627b765..00000000
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0027-Patch-Microblaze-update-in-constraints-for-bitfield-.patch
+++ /dev/null
@@ -1,84 +0,0 @@
1From 336d984c580345eccdeb889af8ef8c986afc1dad Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Mon, 19 Feb 2018 18:06:16 +0530
4Subject: [PATCH 27/54] [Patch,Microblaze]: update in constraints for bitfield
5 insert and extract instructions.
6
7Conflicts:
8 gcc/config/microblaze/microblaze.md
9---
10 gcc/config/microblaze/microblaze.md | 45 +++++------------------------
11 1 file changed, 8 insertions(+), 37 deletions(-)
12
13diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
14index d938efcd762..63ad94b972f 100644
15--- a/gcc/config/microblaze/microblaze.md
16+++ b/gcc/config/microblaze/microblaze.md
17@@ -2492,33 +2492,17 @@
18 DONE;
19 }")
20
21-(define_expand "extvsi"
22+(define_expand "extzvsi"
23 [(set (match_operand:SI 0 "register_operand" "r")
24 (zero_extract:SI (match_operand:SI 1 "register_operand" "r")
25 (match_operand:SI 2 "immediate_operand" "I")
26 (match_operand:SI 3 "immediate_operand" "I")))]
27+"TARGET_HAS_BITFIELD"
28 ""
29-"
30-{
31- unsigned HOST_WIDE_INT len = UINTVAL (operands[2]);
32- unsigned HOST_WIDE_INT pos = UINTVAL (operands[3]);
33-
34- if ((len == 0) || (pos + len > 32) )
35- FAIL;
36-
37- ;;if (!register_operand (operands[1], VOIDmode))
38- ;; FAIL;
39- if (operands[0] == operands[1])
40- FAIL;
41- if (GET_CODE (operands[1]) == ASHIFT)
42- FAIL;
43-;; operands[2] = GEN_INT(INTVAL(operands[2])+1 );
44- emit_insn (gen_extv_32 (operands[0], operands[1],
45- operands[2], operands[3]));
46- DONE;
47-}")
48+)
49
50-(define_insn "extv_32"
51+
52+(define_insn "extzv_32"
53 [(set (match_operand:SI 0 "register_operand" "=r")
54 (zero_extract:SI (match_operand:SI 1 "register_operand" "r")
55 (match_operand:SI 2 "immediate_operand" "I")
56@@ -2534,22 +2518,9 @@
57 (match_operand:SI 1 "immediate_operand" "I")
58 (match_operand:SI 2 "immediate_operand" "I"))
59 (match_operand:SI 3 "register_operand" "r"))]
60- ""
61- "
62-{
63- unsigned HOST_WIDE_INT len = UINTVAL (operands[1]);
64- unsigned HOST_WIDE_INT pos = UINTVAL (operands[2]);
65-
66- if (len <= 0 || pos + len > 32)
67- FAIL;
68-
69- ;;if (!register_operand (operands[0], VOIDmode))
70- ;; FAIL;
71-
72- emit_insn (gen_insv_32 (operands[0], operands[1],
73- operands[2], operands[3]));
74- DONE;
75-}")
76+ "TARGET_HAS_BITFIELD"
77+""
78+)
79
80 (define_insn "insv_32"
81 [(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r")
82--
832.17.1
84
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0030-Intial-commit-for-64bit-MB-sources.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0028-Intial-commit-for-64bit-MB-sources.patch
index 88a0d0ba..9d38091e 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0030-Intial-commit-for-64bit-MB-sources.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0028-Intial-commit-for-64bit-MB-sources.patch
@@ -1,7 +1,7 @@
1From 53799d63bd26a04265a55f68ca57e3462ed6eeb7 Mon Sep 17 00:00:00 2001 1From 211cfd6be4b47e1fecf95d1becb713772fd71091 Mon Sep 17 00:00:00 2001
2From: Nagaraju Mekala <nmekala@xilix.com> 2From: Nagaraju Mekala <nmekala@xilix.com>
3Date: Fri, 27 Jul 2018 15:23:41 +0530 3Date: Fri, 27 Jul 2018 15:23:41 +0530
4Subject: [PATCH 30/54] Intial commit for 64bit-MB sources. Need to cleanup the 4Subject: [PATCH 28/53] Intial commit for 64bit-MB sources. Need to cleanup the
5 code later. 5 code later.
6 6
7--- 7---
@@ -9,7 +9,7 @@ Subject: [PATCH 30/54] Intial commit for 64bit-MB sources. Need to cleanup the
9 gcc/config/microblaze/microblaze-c.c | 6 + 9 gcc/config/microblaze/microblaze-c.c | 6 +
10 gcc/config/microblaze/microblaze.c | 218 ++++++--- 10 gcc/config/microblaze/microblaze.c | 218 ++++++---
11 gcc/config/microblaze/microblaze.h | 63 ++- 11 gcc/config/microblaze/microblaze.h | 63 ++-
12 gcc/config/microblaze/microblaze.md | 606 ++++++++++++++++++------ 12 gcc/config/microblaze/microblaze.md | 605 ++++++++++++++++++------
13 gcc/config/microblaze/t-microblaze | 3 +- 13 gcc/config/microblaze/t-microblaze | 3 +-
14 libgcc/config/microblaze/crti.S | 4 +- 14 libgcc/config/microblaze/crti.S | 4 +-
15 libgcc/config/microblaze/crtn.S | 4 +- 15 libgcc/config/microblaze/crtn.S | 4 +-
@@ -20,7 +20,7 @@ Subject: [PATCH 30/54] Intial commit for 64bit-MB sources. Need to cleanup the
20 libgcc/config/microblaze/t-microblaze | 11 +- 20 libgcc/config/microblaze/t-microblaze | 11 +-
21 libgcc/config/microblaze/udivdi3.S | 107 +++++ 21 libgcc/config/microblaze/udivdi3.S | 107 +++++
22 libgcc/config/microblaze/umoddi3.S | 110 +++++ 22 libgcc/config/microblaze/umoddi3.S | 110 +++++
23 15 files changed, 1230 insertions(+), 234 deletions(-) 23 15 files changed, 1230 insertions(+), 233 deletions(-)
24 create mode 100644 libgcc/config/microblaze/divdi3.S 24 create mode 100644 libgcc/config/microblaze/divdi3.S
25 create mode 100644 libgcc/config/microblaze/divdi3_table.c 25 create mode 100644 libgcc/config/microblaze/divdi3_table.c
26 create mode 100644 libgcc/config/microblaze/moddi3.S 26 create mode 100644 libgcc/config/microblaze/moddi3.S
@@ -29,7 +29,7 @@ Subject: [PATCH 30/54] Intial commit for 64bit-MB sources. Need to cleanup the
29 create mode 100644 libgcc/config/microblaze/umoddi3.S 29 create mode 100644 libgcc/config/microblaze/umoddi3.S
30 30
31diff --git a/gcc/config/microblaze/constraints.md b/gcc/config/microblaze/constraints.md 31diff --git a/gcc/config/microblaze/constraints.md b/gcc/config/microblaze/constraints.md
32index 123395717e0..b8ef1650f92 100644 32index 95b21d58f88..0a4d5269314 100644
33--- a/gcc/config/microblaze/constraints.md 33--- a/gcc/config/microblaze/constraints.md
34+++ b/gcc/config/microblaze/constraints.md 34+++ b/gcc/config/microblaze/constraints.md
35@@ -55,7 +55,7 @@ 35@@ -55,7 +55,7 @@
@@ -42,7 +42,7 @@ index 123395717e0..b8ef1650f92 100644
42 42
43 ;; Define floating point constraints 43 ;; Define floating point constraints
44diff --git a/gcc/config/microblaze/microblaze-c.c b/gcc/config/microblaze/microblaze-c.c 44diff --git a/gcc/config/microblaze/microblaze-c.c b/gcc/config/microblaze/microblaze-c.c
45index d8c88e510e5..dbcd21fc6ee 100644 45index e0b29bcb0b0..2dcb879992c 100644
46--- a/gcc/config/microblaze/microblaze-c.c 46--- a/gcc/config/microblaze/microblaze-c.c
47+++ b/gcc/config/microblaze/microblaze-c.c 47+++ b/gcc/config/microblaze/microblaze-c.c
48@@ -100,4 +100,10 @@ microblaze_cpp_define (cpp_reader *pfile) 48@@ -100,4 +100,10 @@ microblaze_cpp_define (cpp_reader *pfile)
@@ -57,7 +57,7 @@ index d8c88e510e5..dbcd21fc6ee 100644
57+ } 57+ }
58 } 58 }
59diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c 59diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
60index 99a1cd5c0be..3c815444574 100644 60index 58d7397945e..f59a71ac072 100644
61--- a/gcc/config/microblaze/microblaze.c 61--- a/gcc/config/microblaze/microblaze.c
62+++ b/gcc/config/microblaze/microblaze.c 62+++ b/gcc/config/microblaze/microblaze.c
63@@ -383,10 +383,10 @@ simple_memory_operand (rtx op, machine_mode mode ATTRIBUTE_UNUSED) 63@@ -383,10 +383,10 @@ simple_memory_operand (rtx op, machine_mode mode ATTRIBUTE_UNUSED)
@@ -575,7 +575,7 @@ index 99a1cd5c0be..3c815444574 100644
575 #define TARGET_PROMOTE_FUNCTION_MODE default_promote_function_mode_always_promote 575 #define TARGET_PROMOTE_FUNCTION_MODE default_promote_function_mode_always_promote
576 576
577diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h 577diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
578index c0358603380..f6ad4d9fc21 100644 578index 22fc3509319..94ac736221c 100644
579--- a/gcc/config/microblaze/microblaze.h 579--- a/gcc/config/microblaze/microblaze.h
580+++ b/gcc/config/microblaze/microblaze.h 580+++ b/gcc/config/microblaze/microblaze.h
581@@ -173,7 +173,6 @@ extern enum pipeline_type microblaze_pipe; 581@@ -173,7 +173,6 @@ extern enum pipeline_type microblaze_pipe;
@@ -744,7 +744,7 @@ index c0358603380..f6ad4d9fc21 100644
744 /* Default to -G 8 */ 744 /* Default to -G 8 */
745 #ifndef MICROBLAZE_DEFAULT_GVALUE 745 #ifndef MICROBLAZE_DEFAULT_GVALUE
746diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md 746diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
747index 4d8429d9a90..33a8b12ef3b 100644 747index 3834725eec1..7bc91602ca2 100644
748--- a/gcc/config/microblaze/microblaze.md 748--- a/gcc/config/microblaze/microblaze.md
749+++ b/gcc/config/microblaze/microblaze.md 749+++ b/gcc/config/microblaze/microblaze.md
750@@ -26,6 +26,7 @@ 750@@ -26,6 +26,7 @@
@@ -1054,7 +1054,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1054 (define_insn "extendsidi2" 1054 (define_insn "extendsidi2"
1055 [(set (match_operand:DI 0 "register_operand" "=d,d,d") 1055 [(set (match_operand:DI 0 "register_operand" "=d,d,d")
1056 (sign_extend:DI (match_operand:SI 1 "nonimmediate_operand" "d,R,m")))] 1056 (sign_extend:DI (match_operand:SI 1 "nonimmediate_operand" "d,R,m")))]
1057@@ -1090,69 +1135,118 @@ 1057@@ -1088,69 +1133,118 @@
1058 ;; Unlike most other insns, the move insns can't be split with 1058 ;; Unlike most other insns, the move insns can't be split with
1059 ;; different predicates, because register spilling and other parts of 1059 ;; different predicates, because register spilling and other parts of
1060 ;; the compiler, have memoized the insn number already. 1060 ;; the compiler, have memoized the insn number already.
@@ -1209,7 +1209,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1209 { 1209 {
1210 switch (which_alternative) 1210 switch (which_alternative)
1211 { 1211 {
1212@@ -1184,7 +1278,8 @@ 1212@@ -1182,7 +1276,8 @@
1213 "reload_completed 1213 "reload_completed
1214 && GET_CODE (operands[0]) == REG && GP_REG_P (REGNO (operands[0])) 1214 && GET_CODE (operands[0]) == REG && GP_REG_P (REGNO (operands[0]))
1215 && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1])) 1215 && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1]))
@@ -1219,7 +1219,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1219 1219
1220 [(set (subreg:SI (match_dup 0) 4) (subreg:SI (match_dup 1) 4)) 1220 [(set (subreg:SI (match_dup 0) 4) (subreg:SI (match_dup 1) 4))
1221 (set (subreg:SI (match_dup 0) 0) (subreg:SI (match_dup 1) 0))] 1221 (set (subreg:SI (match_dup 0) 0) (subreg:SI (match_dup 1) 0))]
1222@@ -1196,12 +1291,22 @@ 1222@@ -1194,12 +1289,22 @@
1223 "reload_completed 1223 "reload_completed
1224 && GET_CODE (operands[0]) == REG && GP_REG_P (REGNO (operands[0])) 1224 && GET_CODE (operands[0]) == REG && GP_REG_P (REGNO (operands[0]))
1225 && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1])) 1225 && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1]))
@@ -1243,7 +1243,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1243 ;; Unlike most other insns, the move insns can't be split with 1243 ;; Unlike most other insns, the move insns can't be split with
1244 ;; different predicates, because register spilling and other parts of 1244 ;; different predicates, because register spilling and other parts of
1245 ;; the compiler, have memoized the insn number already. 1245 ;; the compiler, have memoized the insn number already.
1246@@ -1273,6 +1378,8 @@ 1246@@ -1271,6 +1376,8 @@
1247 (set_attr "length" "4,4,8,4,8,4,8")]) 1247 (set_attr "length" "4,4,8,4,8,4,8")])
1248 1248
1249 1249
@@ -1252,7 +1252,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1252 ;; 16-bit Integer moves 1252 ;; 16-bit Integer moves
1253 1253
1254 ;; Unlike most other insns, the move insns can't be split with 1254 ;; Unlike most other insns, the move insns can't be split with
1255@@ -1305,8 +1412,8 @@ 1255@@ -1303,8 +1410,8 @@
1256 "@ 1256 "@
1257 addik\t%0,r0,%1\t# %X1 1257 addik\t%0,r0,%1\t# %X1
1258 addk\t%0,%1,r0 1258 addk\t%0,%1,r0
@@ -1263,7 +1263,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1263 sh%i0\t%z1,%0 1263 sh%i0\t%z1,%0
1264 sh%i0\t%z1,%0" 1264 sh%i0\t%z1,%0"
1265 [(set_attr "type" "arith,move,load,no_delay_load,store,no_delay_store") 1265 [(set_attr "type" "arith,move,load,no_delay_load,store,no_delay_store")
1266@@ -1349,7 +1456,7 @@ 1266@@ -1347,7 +1454,7 @@
1267 lbu%i1\t%0,%1 1267 lbu%i1\t%0,%1
1268 lbu%i1\t%0,%1 1268 lbu%i1\t%0,%1
1269 sb%i0\t%z1,%0 1269 sb%i0\t%z1,%0
@@ -1272,7 +1272,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1272 [(set_attr "type" "arith,arith,move,load,no_delay_load,store,no_delay_store") 1272 [(set_attr "type" "arith,arith,move,load,no_delay_load,store,no_delay_store")
1273 (set_attr "mode" "QI") 1273 (set_attr "mode" "QI")
1274 (set_attr "length" "4,4,8,4,8,4,8")]) 1274 (set_attr "length" "4,4,8,4,8,4,8")])
1275@@ -1422,7 +1529,7 @@ 1275@@ -1420,7 +1527,7 @@
1276 addik\t%0,r0,%F1 1276 addik\t%0,r0,%F1
1277 lw%i1\t%0,%1 1277 lw%i1\t%0,%1
1278 sw%i0\t%z1,%0 1278 sw%i0\t%z1,%0
@@ -1281,7 +1281,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1281 [(set_attr "type" "move,no_delay_load,load,no_delay_load,no_delay_load,store,no_delay_store") 1281 [(set_attr "type" "move,no_delay_load,load,no_delay_load,no_delay_load,store,no_delay_store")
1282 (set_attr "mode" "SF") 1282 (set_attr "mode" "SF")
1283 (set_attr "length" "4,4,4,4,4,4,4")]) 1283 (set_attr "length" "4,4,4,4,4,4,4")])
1284@@ -1461,6 +1568,33 @@ 1284@@ -1459,6 +1566,33 @@
1285 ;; movdf_internal 1285 ;; movdf_internal
1286 ;; Applies to both TARGET_SOFT_FLOAT and TARGET_HARD_FLOAT 1286 ;; Applies to both TARGET_SOFT_FLOAT and TARGET_HARD_FLOAT
1287 ;; 1287 ;;
@@ -1315,7 +1315,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1315 (define_insn "*movdf_internal" 1315 (define_insn "*movdf_internal"
1316 [(set (match_operand:DF 0 "nonimmediate_operand" "=d,d,d,d,o") 1316 [(set (match_operand:DF 0 "nonimmediate_operand" "=d,d,d,d,o")
1317 (match_operand:DF 1 "general_operand" "dG,o,F,T,d"))] 1317 (match_operand:DF 1 "general_operand" "dG,o,F,T,d"))]
1318@@ -1495,7 +1629,8 @@ 1318@@ -1493,7 +1627,8 @@
1319 "reload_completed 1319 "reload_completed
1320 && GET_CODE (operands[0]) == REG && GP_REG_P (REGNO (operands[0])) 1320 && GET_CODE (operands[0]) == REG && GP_REG_P (REGNO (operands[0]))
1321 && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1])) 1321 && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1]))
@@ -1325,7 +1325,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1325 [(set (subreg:SI (match_dup 0) 4) (subreg:SI (match_dup 1) 4)) 1325 [(set (subreg:SI (match_dup 0) 4) (subreg:SI (match_dup 1) 4))
1326 (set (subreg:SI (match_dup 0) 0) (subreg:SI (match_dup 1) 0))] 1326 (set (subreg:SI (match_dup 0) 0) (subreg:SI (match_dup 1) 0))]
1327 "") 1327 "")
1328@@ -1506,7 +1641,8 @@ 1328@@ -1504,7 +1639,8 @@
1329 "reload_completed 1329 "reload_completed
1330 && GET_CODE (operands[0]) == REG && GP_REG_P (REGNO (operands[0])) 1330 && GET_CODE (operands[0]) == REG && GP_REG_P (REGNO (operands[0]))
1331 && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1])) 1331 && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1]))
@@ -1335,7 +1335,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1335 [(set (subreg:SI (match_dup 0) 0) (subreg:SI (match_dup 1) 0)) 1335 [(set (subreg:SI (match_dup 0) 0) (subreg:SI (match_dup 1) 0))
1336 (set (subreg:SI (match_dup 0) 4) (subreg:SI (match_dup 1) 4))] 1336 (set (subreg:SI (match_dup 0) 4) (subreg:SI (match_dup 1) 4))]
1337 "") 1337 "")
1338@@ -2006,6 +2142,31 @@ else 1338@@ -2003,6 +2139,31 @@ else
1339 " 1339 "
1340 ) 1340 )
1341 1341
@@ -1367,7 +1367,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1367 (define_insn "seq_internal_pat" 1367 (define_insn "seq_internal_pat"
1368 [(set (match_operand:SI 0 "register_operand" "=d") 1368 [(set (match_operand:SI 0 "register_operand" "=d")
1369 (eq:SI 1369 (eq:SI
1370@@ -2066,8 +2227,8 @@ else 1370@@ -2063,8 +2224,8 @@ else
1371 (define_expand "cbranchsi4" 1371 (define_expand "cbranchsi4"
1372 [(set (pc) 1372 [(set (pc)
1373 (if_then_else (match_operator 0 "ordered_comparison_operator" 1373 (if_then_else (match_operator 0 "ordered_comparison_operator"
@@ -1378,7 +1378,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1378 (label_ref (match_operand 3 "")) 1378 (label_ref (match_operand 3 ""))
1379 (pc)))] 1379 (pc)))]
1380 "" 1380 ""
1381@@ -2079,13 +2240,13 @@ else 1381@@ -2076,13 +2237,13 @@ else
1382 (define_expand "cbranchsi4_reg" 1382 (define_expand "cbranchsi4_reg"
1383 [(set (pc) 1383 [(set (pc)
1384 (if_then_else (match_operator 0 "ordered_comparison_operator" 1384 (if_then_else (match_operator 0 "ordered_comparison_operator"
@@ -1395,7 +1395,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1395 DONE; 1395 DONE;
1396 }) 1396 })
1397 1397
1398@@ -2110,6 +2271,26 @@ else 1398@@ -2107,6 +2268,26 @@ else
1399 (label_ref (match_operand 1)) 1399 (label_ref (match_operand 1))
1400 (pc)))]) 1400 (pc)))])
1401 1401
@@ -1422,7 +1422,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1422 (define_insn "branch_zero" 1422 (define_insn "branch_zero"
1423 [(set (pc) 1423 [(set (pc)
1424 (if_then_else (match_operator:SI 0 "ordered_comparison_operator" 1424 (if_then_else (match_operator:SI 0 "ordered_comparison_operator"
1425@@ -2130,6 +2311,47 @@ else 1425@@ -2127,6 +2308,47 @@ else
1426 (set_attr "length" "4")] 1426 (set_attr "length" "4")]
1427 ) 1427 )
1428 1428
@@ -1470,7 +1470,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1470 (define_insn "branch_compare" 1470 (define_insn "branch_compare"
1471 [(set (pc) 1471 [(set (pc)
1472 (if_then_else (match_operator:SI 0 "cmp_op" 1472 (if_then_else (match_operator:SI 0 "cmp_op"
1473@@ -2313,7 +2535,7 @@ else 1473@@ -2310,7 +2532,7 @@ else
1474 ;; Indirect jumps. Jump to register values. Assuming absolute jumps 1474 ;; Indirect jumps. Jump to register values. Assuming absolute jumps
1475 1475
1476 (define_insn "indirect_jump_internal1" 1476 (define_insn "indirect_jump_internal1"
@@ -1479,7 +1479,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1479 "" 1479 ""
1480 "bra%?\t%0" 1480 "bra%?\t%0"
1481 [(set_attr "type" "jump") 1481 [(set_attr "type" "jump")
1482@@ -2326,7 +2548,7 @@ else 1482@@ -2323,7 +2545,7 @@ else
1483 (use (label_ref (match_operand 1 "" "")))] 1483 (use (label_ref (match_operand 1 "" "")))]
1484 "" 1484 ""
1485 { 1485 {
@@ -1488,7 +1488,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1488 1488
1489 if (!flag_pic || TARGET_PIC_DATA_TEXT_REL) 1489 if (!flag_pic || TARGET_PIC_DATA_TEXT_REL)
1490 emit_jump_insn (gen_tablejump_internal1 (operands[0], operands[1])); 1490 emit_jump_insn (gen_tablejump_internal1 (operands[0], operands[1]));
1491@@ -2338,7 +2560,7 @@ else 1491@@ -2335,7 +2557,7 @@ else
1492 1492
1493 (define_insn "tablejump_internal1" 1493 (define_insn "tablejump_internal1"
1494 [(set (pc) 1494 [(set (pc)
@@ -1497,7 +1497,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1497 (use (label_ref (match_operand 1 "" "")))] 1497 (use (label_ref (match_operand 1 "" "")))]
1498 "" 1498 ""
1499 "bra%?\t%0 " 1499 "bra%?\t%0 "
1500@@ -2348,9 +2570,9 @@ else 1500@@ -2345,9 +2567,9 @@ else
1501 1501
1502 (define_expand "tablejump_internal3" 1502 (define_expand "tablejump_internal3"
1503 [(parallel [(set (pc) 1503 [(parallel [(set (pc)
@@ -1510,7 +1510,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1510 "" 1510 ""
1511 "" 1511 ""
1512 ) 1512 )
1513@@ -2411,7 +2633,7 @@ else 1513@@ -2408,7 +2630,7 @@ else
1514 (minus (reg 1) (match_operand 1 "register_operand" ""))) 1514 (minus (reg 1) (match_operand 1 "register_operand" "")))
1515 (set (reg 1) 1515 (set (reg 1)
1516 (minus (reg 1) (match_dup 1)))] 1516 (minus (reg 1) (match_dup 1)))]
@@ -1519,7 +1519,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1519 { 1519 {
1520 rtx retaddr = gen_rtx_MEM (Pmode, stack_pointer_rtx); 1520 rtx retaddr = gen_rtx_MEM (Pmode, stack_pointer_rtx);
1521 rtx reg = gen_reg_rtx (Pmode); 1521 rtx reg = gen_reg_rtx (Pmode);
1522@@ -2436,7 +2658,7 @@ else 1522@@ -2433,7 +2655,7 @@ else
1523 (define_expand "save_stack_block" 1523 (define_expand "save_stack_block"
1524 [(match_operand 0 "register_operand" "") 1524 [(match_operand 0 "register_operand" "")
1525 (match_operand 1 "register_operand" "")] 1525 (match_operand 1 "register_operand" "")]
@@ -1528,7 +1528,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1528 { 1528 {
1529 emit_move_insn (operands[0], operands[1]); 1529 emit_move_insn (operands[0], operands[1]);
1530 DONE; 1530 DONE;
1531@@ -2446,7 +2668,7 @@ else 1531@@ -2443,7 +2665,7 @@ else
1532 (define_expand "restore_stack_block" 1532 (define_expand "restore_stack_block"
1533 [(match_operand 0 "register_operand" "") 1533 [(match_operand 0 "register_operand" "")
1534 (match_operand 1 "register_operand" "")] 1534 (match_operand 1 "register_operand" "")]
@@ -1537,7 +1537,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1537 { 1537 {
1538 rtx retaddr = gen_rtx_MEM (Pmode, stack_pointer_rtx); 1538 rtx retaddr = gen_rtx_MEM (Pmode, stack_pointer_rtx);
1539 rtx rtmp = gen_rtx_REG (SImode, R_TMP); 1539 rtx rtmp = gen_rtx_REG (SImode, R_TMP);
1540@@ -2493,7 +2715,7 @@ else 1540@@ -2490,7 +2712,7 @@ else
1541 1541
1542 (define_insn "<optab>_internal" 1542 (define_insn "<optab>_internal"
1543 [(any_return) 1543 [(any_return)
@@ -1546,7 +1546,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1546 "" 1546 ""
1547 { 1547 {
1548 if (microblaze_is_break_handler ()) 1548 if (microblaze_is_break_handler ())
1549@@ -2526,7 +2748,7 @@ else 1549@@ -2523,7 +2745,7 @@ else
1550 (define_expand "call" 1550 (define_expand "call"
1551 [(parallel [(call (match_operand 0 "memory_operand" "m") 1551 [(parallel [(call (match_operand 0 "memory_operand" "m")
1552 (match_operand 1 "" "i")) 1552 (match_operand 1 "" "i"))
@@ -1555,7 +1555,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1555 (use (match_operand 2 "" "")) 1555 (use (match_operand 2 "" ""))
1556 (use (match_operand 3 "" ""))])] 1556 (use (match_operand 3 "" ""))])]
1557 "" 1557 ""
1558@@ -2547,12 +2769,12 @@ else 1558@@ -2544,12 +2766,12 @@ else
1559 1559
1560 if (GET_CODE (XEXP (operands[0], 0)) == UNSPEC) 1560 if (GET_CODE (XEXP (operands[0], 0)) == UNSPEC)
1561 emit_call_insn (gen_call_internal_plt0 (operands[0], operands[1], 1561 emit_call_insn (gen_call_internal_plt0 (operands[0], operands[1],
@@ -1570,7 +1570,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1570 GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM))); 1570 GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM)));
1571 1571
1572 DONE; 1572 DONE;
1573@@ -2562,7 +2784,7 @@ else 1573@@ -2559,7 +2781,7 @@ else
1574 (define_expand "call_internal0" 1574 (define_expand "call_internal0"
1575 [(parallel [(call (match_operand 0 "" "") 1575 [(parallel [(call (match_operand 0 "" "")
1576 (match_operand 1 "" "")) 1576 (match_operand 1 "" ""))
@@ -1579,7 +1579,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1579 "" 1579 ""
1580 { 1580 {
1581 } 1581 }
1582@@ -2571,18 +2793,34 @@ else 1582@@ -2568,18 +2790,34 @@ else
1583 (define_expand "call_internal_plt0" 1583 (define_expand "call_internal_plt0"
1584 [(parallel [(call (match_operand 0 "" "") 1584 [(parallel [(call (match_operand 0 "" "")
1585 (match_operand 1 "" "")) 1585 (match_operand 1 "" ""))
@@ -1620,7 +1620,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1620 "flag_pic" 1620 "flag_pic"
1621 { 1621 {
1622 register rtx target2 = gen_rtx_REG (Pmode, 1622 register rtx target2 = gen_rtx_REG (Pmode,
1623@@ -2594,10 +2832,41 @@ else 1623@@ -2591,10 +2829,41 @@ else
1624 (set_attr "mode" "none") 1624 (set_attr "mode" "none")
1625 (set_attr "length" "4")]) 1625 (set_attr "length" "4")])
1626 1626
@@ -1664,7 +1664,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1664 "" 1664 ""
1665 { 1665 {
1666 register rtx target = operands[0]; 1666 register rtx target = operands[0];
1667@@ -2631,7 +2900,7 @@ else 1667@@ -2628,7 +2897,7 @@ else
1668 [(parallel [(set (match_operand 0 "register_operand" "=d") 1668 [(parallel [(set (match_operand 0 "register_operand" "=d")
1669 (call (match_operand 1 "memory_operand" "m") 1669 (call (match_operand 1 "memory_operand" "m")
1670 (match_operand 2 "" "i"))) 1670 (match_operand 2 "" "i")))
@@ -1673,7 +1673,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1673 (use (match_operand 3 "" ""))])] ;; next_arg_reg 1673 (use (match_operand 3 "" ""))])] ;; next_arg_reg
1674 "" 1674 ""
1675 { 1675 {
1676@@ -2652,13 +2921,13 @@ else 1676@@ -2649,13 +2918,13 @@ else
1677 if (GET_CODE (XEXP (operands[1], 0)) == UNSPEC) 1677 if (GET_CODE (XEXP (operands[1], 0)) == UNSPEC)
1678 emit_call_insn (gen_call_value_intern_plt0 (operands[0], operands[1], 1678 emit_call_insn (gen_call_value_intern_plt0 (operands[0], operands[1],
1679 operands[2], 1679 operands[2],
@@ -1689,7 +1689,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1689 GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM))); 1689 GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM)));
1690 1690
1691 DONE; 1691 DONE;
1692@@ -2670,7 +2939,7 @@ else 1692@@ -2667,7 +2936,7 @@ else
1693 [(parallel [(set (match_operand 0 "" "") 1693 [(parallel [(set (match_operand 0 "" "")
1694 (call (match_operand 1 "" "") 1694 (call (match_operand 1 "" "")
1695 (match_operand 2 "" ""))) 1695 (match_operand 2 "" "")))
@@ -1698,7 +1698,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1698 ])] 1698 ])]
1699 "" 1699 ""
1700 {} 1700 {}
1701@@ -2680,18 +2949,35 @@ else 1701@@ -2677,18 +2946,35 @@ else
1702 [(parallel[(set (match_operand 0 "" "") 1702 [(parallel[(set (match_operand 0 "" "")
1703 (call (match_operand 1 "" "") 1703 (call (match_operand 1 "" "")
1704 (match_operand 2 "" ""))) 1704 (match_operand 2 "" "")))
@@ -1740,7 +1740,7 @@ index 4d8429d9a90..33a8b12ef3b 100644
1740 "flag_pic" 1740 "flag_pic"
1741 { 1741 {
1742 register rtx target2=gen_rtx_REG (Pmode,GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM); 1742 register rtx target2=gen_rtx_REG (Pmode,GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM);
1743@@ -2703,11 +2989,46 @@ else 1743@@ -2700,11 +2986,46 @@ else
1744 (set_attr "mode" "none") 1744 (set_attr "mode" "none")
1745 (set_attr "length" "4")]) 1745 (set_attr "length" "4")])
1746 1746
@@ -1789,14 +1789,6 @@ index 4d8429d9a90..33a8b12ef3b 100644
1789 "" 1789 ""
1790 { 1790 {
1791 register rtx target = operands[1]; 1791 register rtx target = operands[1];
1792@@ -2881,7 +3202,6 @@ else
1793
1794 ;;if (!register_operand (operands[0], VOIDmode))
1795 ;; FAIL;
1796-
1797 emit_insn (gen_insv_32 (operands[0], operands[1],
1798 operands[2], operands[3]));
1799 DONE;
1800diff --git a/gcc/config/microblaze/t-microblaze b/gcc/config/microblaze/t-microblaze 1792diff --git a/gcc/config/microblaze/t-microblaze b/gcc/config/microblaze/t-microblaze
1801index e9a1921ae26..9fc80b142ce 100644 1793index e9a1921ae26..9fc80b142ce 100644
1802--- a/gcc/config/microblaze/t-microblaze 1794--- a/gcc/config/microblaze/t-microblaze
@@ -1812,7 +1804,7 @@ index e9a1921ae26..9fc80b142ce 100644
1812 MULTILIB_EXCEPTIONS += mxl-multiply-high/m64 1804 MULTILIB_EXCEPTIONS += mxl-multiply-high/m64
1813 MULTILIB_EXCEPTIONS += *mxl-multiply-high/mlittle-endian/m64 1805 MULTILIB_EXCEPTIONS += *mxl-multiply-high/mlittle-endian/m64
1814diff --git a/libgcc/config/microblaze/crti.S b/libgcc/config/microblaze/crti.S 1806diff --git a/libgcc/config/microblaze/crti.S b/libgcc/config/microblaze/crti.S
1815index d0146083db6..005825f1ec5 100644 1807index f9bafaf3aa5..bc69d890370 100644
1816--- a/libgcc/config/microblaze/crti.S 1808--- a/libgcc/config/microblaze/crti.S
1817+++ b/libgcc/config/microblaze/crti.S 1809+++ b/libgcc/config/microblaze/crti.S
1818@@ -40,7 +40,7 @@ 1810@@ -40,7 +40,7 @@
@@ -1832,7 +1824,7 @@ index d0146083db6..005825f1ec5 100644
1832+ addik r1, r1, -16 1824+ addik r1, r1, -16
1833 sw r15, r0, r1 1825 sw r15, r0, r1
1834diff --git a/libgcc/config/microblaze/crtn.S b/libgcc/config/microblaze/crtn.S 1826diff --git a/libgcc/config/microblaze/crtn.S b/libgcc/config/microblaze/crtn.S
1835index 2fff5ac04c7..5705eff9a4a 100644 1827index 0260e432371..1a1f0a8e0f3 100644
1836--- a/libgcc/config/microblaze/crtn.S 1828--- a/libgcc/config/microblaze/crtn.S
1837+++ b/libgcc/config/microblaze/crtn.S 1829+++ b/libgcc/config/microblaze/crtn.S
1838@@ -33,9 +33,9 @@ 1830@@ -33,9 +33,9 @@
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0031-re-arrangement-of-the-compare-branches.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0029-re-arrangement-of-the-compare-branches.patch
index 0113c65d..19605270 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0031-re-arrangement-of-the-compare-branches.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0029-re-arrangement-of-the-compare-branches.patch
@@ -1,7 +1,7 @@
1From 67d89be9ace8f658354fb1378e986451ef435d60 Mon Sep 17 00:00:00 2001 1From 5b31cd986c75c5f479967b8f9c1b4ac1fc322b1a Mon Sep 17 00:00:00 2001
2From: Nagaraju Mekala <nmekala@xilix.com> 2From: Nagaraju Mekala <nmekala@xilix.com>
3Date: Fri, 3 Aug 2018 15:41:39 +0530 3Date: Fri, 3 Aug 2018 15:41:39 +0530
4Subject: [PATCH 31/54] re-arrangement of the compare branches 4Subject: [PATCH 29/53] re-arrangement of the compare branches
5 5
6--- 6---
7 gcc/config/microblaze/microblaze.c | 28 ++---- 7 gcc/config/microblaze/microblaze.c | 28 ++----
@@ -9,7 +9,7 @@ Subject: [PATCH 31/54] re-arrangement of the compare branches
9 2 files changed, 73 insertions(+), 96 deletions(-) 9 2 files changed, 73 insertions(+), 96 deletions(-)
10 10
11diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c 11diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
12index 3c815444574..046bfd05558 100644 12index f59a71ac072..e33e1bc1482 100644
13--- a/gcc/config/microblaze/microblaze.c 13--- a/gcc/config/microblaze/microblaze.c
14+++ b/gcc/config/microblaze/microblaze.c 14+++ b/gcc/config/microblaze/microblaze.c
15@@ -3697,11 +3697,7 @@ microblaze_expand_conditional_branch (machine_mode mode, rtx operands[]) 15@@ -3697,11 +3697,7 @@ microblaze_expand_conditional_branch (machine_mode mode, rtx operands[])
@@ -83,10 +83,10 @@ index 3c815444574..046bfd05558 100644
83 83
84 /* Implement TARGET_FRAME_POINTER_REQUIRED. */ 84 /* Implement TARGET_FRAME_POINTER_REQUIRED. */
85diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md 85diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
86index 33a8b12ef3b..cfe9e5312d1 100644 86index 7bc91602ca2..ddf01505bd8 100644
87--- a/gcc/config/microblaze/microblaze.md 87--- a/gcc/config/microblaze/microblaze.md
88+++ b/gcc/config/microblaze/microblaze.md 88+++ b/gcc/config/microblaze/microblaze.md
89@@ -2271,7 +2271,27 @@ else 89@@ -2268,7 +2268,27 @@ else
90 (label_ref (match_operand 1)) 90 (label_ref (match_operand 1))
91 (pc)))]) 91 (pc)))])
92 92
@@ -115,7 +115,7 @@ index 33a8b12ef3b..cfe9e5312d1 100644
115 [(set (pc) 115 [(set (pc)
116 (if_then_else (match_operator 0 "ordered_comparison_operator" 116 (if_then_else (match_operator 0 "ordered_comparison_operator"
117 [(match_operand 1 "register_operand" "d") 117 [(match_operand 1 "register_operand" "d")
118@@ -2282,9 +2302,9 @@ else 118@@ -2279,9 +2299,9 @@ else
119 "TARGET_MB_64" 119 "TARGET_MB_64"
120 { 120 {
121 if (operands[3] == pc_rtx) 121 if (operands[3] == pc_rtx)
@@ -127,7 +127,7 @@ index 33a8b12ef3b..cfe9e5312d1 100644
127 } 127 }
128 [(set_attr "type" "branch") 128 [(set_attr "type" "branch")
129 (set_attr "mode" "none") 129 (set_attr "mode" "none")
130@@ -2313,9 +2333,9 @@ else 130@@ -2310,9 +2330,9 @@ else
131 131
132 (define_insn "branch_compare64" 132 (define_insn "branch_compare64"
133 [(set (pc) 133 [(set (pc)
@@ -140,7 +140,7 @@ index 33a8b12ef3b..cfe9e5312d1 100644
140 ]) 140 ])
141 (label_ref (match_operand 3)) 141 (label_ref (match_operand 3))
142 (pc))) 142 (pc)))
143@@ -2352,6 +2372,47 @@ else 143@@ -2349,6 +2369,47 @@ else
144 (set_attr "length" "12")] 144 (set_attr "length" "12")]
145 ) 145 )
146 146
@@ -188,7 +188,7 @@ index 33a8b12ef3b..cfe9e5312d1 100644
188 (define_insn "branch_compare" 188 (define_insn "branch_compare"
189 [(set (pc) 189 [(set (pc)
190 (if_then_else (match_operator:SI 0 "cmp_op" 190 (if_then_else (match_operator:SI 0 "cmp_op"
191@@ -2434,74 +2495,6 @@ else 191@@ -2431,74 +2492,6 @@ else
192 192
193 }) 193 })
194 194
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0032-Patch-Microblaze-previous-commit-broke-the-handling-.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0030-Patch-Microblaze-previous-commit-broke-the-handling-.patch
index b74c79ec..528fef0c 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0032-Patch-Microblaze-previous-commit-broke-the-handling-.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0030-Patch-Microblaze-previous-commit-broke-the-handling-.patch
@@ -1,7 +1,7 @@
1From 410348f4fd9b641afa24e6c6b6a62a4c74d18862 Mon Sep 17 00:00:00 2001 1From 37af05f1ea7dc8476057580944a236f135babaf8 Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Wed, 8 Aug 2018 17:37:26 +0530 3Date: Wed, 8 Aug 2018 17:37:26 +0530
4Subject: [PATCH 32/54] [Patch,Microblaze] : previous commit broke the 4Subject: [PATCH 30/53] [Patch,Microblaze] : previous commit broke the
5 handling of SI Branch compare for Microblaze 32-bit.. 5 handling of SI Branch compare for Microblaze 32-bit..
6 6
7--- 7---
@@ -9,10 +9,10 @@ Subject: [PATCH 32/54] [Patch,Microblaze] : previous commit broke the
9 1 file changed, 2 insertions(+), 2 deletions(-) 9 1 file changed, 2 insertions(+), 2 deletions(-)
10 10
11diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md 11diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
12index cfe9e5312d1..592757baf2f 100644 12index ddf01505bd8..87158066562 100644
13--- a/gcc/config/microblaze/microblaze.md 13--- a/gcc/config/microblaze/microblaze.md
14+++ b/gcc/config/microblaze/microblaze.md 14+++ b/gcc/config/microblaze/microblaze.md
15@@ -2227,8 +2227,8 @@ else 15@@ -2224,8 +2224,8 @@ else
16 (define_expand "cbranchsi4" 16 (define_expand "cbranchsi4"
17 [(set (pc) 17 [(set (pc)
18 (if_then_else (match_operator 0 "ordered_comparison_operator" 18 (if_then_else (match_operator 0 "ordered_comparison_operator"
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0033-Patch-Microblaze-Support-of-multilibs-with-m64.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0031-Patch-Microblaze-Support-of-multilibs-with-m64.patch
index 353bfa90..c247120b 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0033-Patch-Microblaze-Support-of-multilibs-with-m64.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0031-Patch-Microblaze-Support-of-multilibs-with-m64.patch
@@ -1,7 +1,7 @@
1From 802c136f1a41ebfed3b25419e48331038f284e2b Mon Sep 17 00:00:00 2001 1From 397a532bd80e21682ca3b5e230949f66c5b9ad30 Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Tue, 11 Sep 2018 13:43:48 +0530 3Date: Tue, 11 Sep 2018 13:43:48 +0530
4Subject: [PATCH 33/54] [Patch, Microblaze] : Support of multilibs with m64 ... 4Subject: [PATCH 31/53] [Patch, Microblaze] : Support of multilibs with m64 ...
5 5
6--- 6---
7 gcc/config/microblaze/microblaze-c.c | 1 + 7 gcc/config/microblaze/microblaze-c.c | 1 +
@@ -10,7 +10,7 @@ Subject: [PATCH 33/54] [Patch, Microblaze] : Support of multilibs with m64 ...
10 3 files changed, 10 insertions(+), 17 deletions(-) 10 3 files changed, 10 insertions(+), 17 deletions(-)
11 11
12diff --git a/gcc/config/microblaze/microblaze-c.c b/gcc/config/microblaze/microblaze-c.c 12diff --git a/gcc/config/microblaze/microblaze-c.c b/gcc/config/microblaze/microblaze-c.c
13index dbcd21fc6ee..db543edcbe5 100644 13index 2dcb879992c..50d01feb670 100644
14--- a/gcc/config/microblaze/microblaze-c.c 14--- a/gcc/config/microblaze/microblaze-c.c
15+++ b/gcc/config/microblaze/microblaze-c.c 15+++ b/gcc/config/microblaze/microblaze-c.c
16@@ -102,6 +102,7 @@ microblaze_cpp_define (cpp_reader *pfile) 16@@ -102,6 +102,7 @@ microblaze_cpp_define (cpp_reader *pfile)
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0034-Fixed-issues-like.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0032-Fixed-issues-like.patch
index c508b158..9f5381af 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0034-Fixed-issues-like.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0032-Fixed-issues-like.patch
@@ -1,7 +1,7 @@
1From 2b2c6e96c3aefc86c880be05d93685a4ce97c9f1 Mon Sep 17 00:00:00 2001 1From c03a994475d8894ae0913dd3534e72bfb389aa28 Mon Sep 17 00:00:00 2001
2From: Nagaraju Mekala <nmekala@xilix.com> 2From: Nagaraju Mekala <nmekala@xilix.com>
3Date: Tue, 11 Sep 2018 14:58:00 +0530 3Date: Tue, 11 Sep 2018 14:58:00 +0530
4Subject: [PATCH 34/54] Fixed issues like: 1 Interrupt alignment issue 2 Sign 4Subject: [PATCH 32/53] Fixed issues like: 1 Interrupt alignment issue 2 Sign
5 extension issue 5 extension issue
6 6
7--- 7---
@@ -10,7 +10,7 @@ Subject: [PATCH 34/54] Fixed issues like: 1 Interrupt alignment issue 2 Sign
10 2 files changed, 11 insertions(+), 7 deletions(-) 10 2 files changed, 11 insertions(+), 7 deletions(-)
11 11
12diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c 12diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
13index 046bfd05558..498c8ca191f 100644 13index e33e1bc1482..64b948d6cfc 100644
14--- a/gcc/config/microblaze/microblaze.c 14--- a/gcc/config/microblaze/microblaze.c
15+++ b/gcc/config/microblaze/microblaze.c 15+++ b/gcc/config/microblaze/microblaze.c
16@@ -2177,9 +2177,14 @@ compute_frame_size (HOST_WIDE_INT size) 16@@ -2177,9 +2177,14 @@ compute_frame_size (HOST_WIDE_INT size)
@@ -53,7 +53,7 @@ index 046bfd05558..498c8ca191f 100644
53 else if (code == CONST_DOUBLE) 53 else if (code == CONST_DOUBLE)
54 { 54 {
55diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md 55diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
56index 592757baf2f..e7c7cf3e8b5 100644 56index 87158066562..b154d15c34c 100644
57--- a/gcc/config/microblaze/microblaze.md 57--- a/gcc/config/microblaze/microblaze.md
58+++ b/gcc/config/microblaze/microblaze.md 58+++ b/gcc/config/microblaze/microblaze.md
59@@ -1096,7 +1096,7 @@ 59@@ -1096,7 +1096,7 @@
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0035-Fixed-below-issues.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0033-Fixed-below-issues.patch
index 61d35261..3a4b2037 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0035-Fixed-below-issues.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0033-Fixed-below-issues.patch
@@ -1,7 +1,7 @@
1From 051d744c06ed3f11f603e37768eece57784c2583 Mon Sep 17 00:00:00 2001 1From 844daa118a8f376e5a53040fc953c86e70d34140 Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Tue, 26 Nov 2019 17:26:15 +0530 3Date: Tue, 26 Nov 2019 17:26:15 +0530
4Subject: [PATCH 35/54] Fixed below issues: 4Subject: [PATCH 33/53] Fixed below issues:
5 5
6- Floating point print issues in 64bit mode 6- Floating point print issues in 64bit mode
7- Dejagnu Jump related issues 7- Dejagnu Jump related issues
@@ -18,7 +18,7 @@ Conflicts:
18 5 files changed, 125 insertions(+), 17 deletions(-) 18 5 files changed, 125 insertions(+), 17 deletions(-)
19 19
20diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c 20diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
21index 498c8ca191f..e32de46fa62 100644 21index 64b948d6cfc..b2cd89a310a 100644
22--- a/gcc/config/microblaze/microblaze.c 22--- a/gcc/config/microblaze/microblaze.c
23+++ b/gcc/config/microblaze/microblaze.c 23+++ b/gcc/config/microblaze/microblaze.c
24@@ -2473,7 +2473,12 @@ print_operand (FILE * file, rtx op, int letter) 24@@ -2473,7 +2473,12 @@ print_operand (FILE * file, rtx op, int letter)
@@ -48,7 +48,7 @@ index 498c8ca191f..e32de46fa62 100644
48 LABEL_NUSES (div_end_label) = 1; 48 LABEL_NUSES (div_end_label) = 1;
49 emit_barrier (); 49 emit_barrier ();
50diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h 50diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
51index f6ad4d9fc21..60c552958b8 100644 51index 94ac736221c..17bf470c95b 100644
52--- a/gcc/config/microblaze/microblaze.h 52--- a/gcc/config/microblaze/microblaze.h
53+++ b/gcc/config/microblaze/microblaze.h 53+++ b/gcc/config/microblaze/microblaze.h
54@@ -888,10 +888,17 @@ do { \ 54@@ -888,10 +888,17 @@ do { \
@@ -70,7 +70,7 @@ index f6ad4d9fc21..60c552958b8 100644
70 /* We need to group -lm as well, since some Newlib math functions 70 /* We need to group -lm as well, since some Newlib math functions
71 reference __errno! */ 71 reference __errno! */
72diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md 72diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
73index e7c7cf3e8b5..74bb30cb9e8 100644 73index b154d15c34c..7d6cf263eb6 100644
74--- a/gcc/config/microblaze/microblaze.md 74--- a/gcc/config/microblaze/microblaze.md
75+++ b/gcc/config/microblaze/microblaze.md 75+++ b/gcc/config/microblaze/microblaze.md
76@@ -527,6 +527,15 @@ 76@@ -527,6 +527,15 @@
@@ -89,7 +89,7 @@ index e7c7cf3e8b5..74bb30cb9e8 100644
89 (define_insn "fix_truncsfsi2" 89 (define_insn "fix_truncsfsi2"
90 [(set (match_operand:SI 0 "register_operand" "=d") 90 [(set (match_operand:SI 0 "register_operand" "=d")
91 (fix:SI (match_operand:SF 1 "register_operand" "d")))] 91 (fix:SI (match_operand:SF 1 "register_operand" "d")))]
92@@ -1301,7 +1310,7 @@ 92@@ -1299,7 +1308,7 @@
93 (define_insn "movdi_long_int" 93 (define_insn "movdi_long_int"
94 [(set (match_operand:DI 0 "nonimmediate_operand" "=d") 94 [(set (match_operand:DI 0 "nonimmediate_operand" "=d")
95 (match_operand:DI 1 "general_operand" "i"))] 95 (match_operand:DI 1 "general_operand" "i"))]
@@ -98,7 +98,7 @@ index e7c7cf3e8b5..74bb30cb9e8 100644
98 "addlik\t%0,r0,%h1\n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%j1 #li => la"; 98 "addlik\t%0,r0,%h1\n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%j1 #li => la";
99 [(set_attr "type" "no_delay_arith") 99 [(set_attr "type" "no_delay_arith")
100 (set_attr "mode" "DI") 100 (set_attr "mode" "DI")
101@@ -1584,7 +1593,7 @@ 101@@ -1582,7 +1591,7 @@
102 return "ll%i1\t%0,%1"; 102 return "ll%i1\t%0,%1";
103 case 3: 103 case 3:
104 { 104 {
@@ -107,7 +107,7 @@ index e7c7cf3e8b5..74bb30cb9e8 100644
107 } 107 }
108 case 5: 108 case 5:
109 return "sl%i0\t%1,%0"; 109 return "sl%i0\t%1,%0";
110@@ -2374,9 +2383,9 @@ else 110@@ -2371,9 +2380,9 @@ else
111 111
112 (define_insn "long_branch_compare" 112 (define_insn "long_branch_compare"
113 [(set (pc) 113 [(set (pc)
@@ -120,7 +120,7 @@ index e7c7cf3e8b5..74bb30cb9e8 100644
120 ]) 120 ])
121 (label_ref (match_operand 3)) 121 (label_ref (match_operand 3))
122 (pc))) 122 (pc)))
123@@ -2498,6 +2507,20 @@ else 123@@ -2495,6 +2504,20 @@ else
124 ;;---------------------------------------------------------------- 124 ;;----------------------------------------------------------------
125 ;; Unconditional branches 125 ;; Unconditional branches
126 ;;---------------------------------------------------------------- 126 ;;----------------------------------------------------------------
@@ -141,7 +141,7 @@ index e7c7cf3e8b5..74bb30cb9e8 100644
141 (define_insn "jump" 141 (define_insn "jump"
142 [(set (pc) 142 [(set (pc)
143 (label_ref (match_operand 0 "" "")))] 143 (label_ref (match_operand 0 "" "")))]
144@@ -2543,17 +2566,25 @@ else 144@@ -2540,17 +2563,25 @@ else
145 { 145 {
146 //gcc_assert (GET_MODE (operands[0]) == Pmode); 146 //gcc_assert (GET_MODE (operands[0]) == Pmode);
147 147
@@ -172,7 +172,7 @@ index e7c7cf3e8b5..74bb30cb9e8 100644
172 (use (label_ref (match_operand 1 "" "")))] 172 (use (label_ref (match_operand 1 "" "")))]
173 "" 173 ""
174 "bra%?\t%0 " 174 "bra%?\t%0 "
175@@ -2561,11 +2592,21 @@ else 175@@ -2558,11 +2589,21 @@ else
176 (set_attr "mode" "none") 176 (set_attr "mode" "none")
177 (set_attr "length" "4")]) 177 (set_attr "length" "4")])
178 178
@@ -197,7 +197,7 @@ index e7c7cf3e8b5..74bb30cb9e8 100644
197 "" 197 ""
198 "" 198 ""
199 ) 199 )
200@@ -2596,6 +2637,23 @@ else 200@@ -2593,6 +2634,23 @@ else
201 "" 201 ""
202 ) 202 )
203 203
@@ -221,7 +221,7 @@ index e7c7cf3e8b5..74bb30cb9e8 100644
221 ;;---------------------------------------------------------------- 221 ;;----------------------------------------------------------------
222 ;; Function prologue/epilogue and stack allocation 222 ;; Function prologue/epilogue and stack allocation
223 ;;---------------------------------------------------------------- 223 ;;----------------------------------------------------------------
224@@ -3102,7 +3160,7 @@ else 224@@ -3099,7 +3157,7 @@ else
225 ;; The insn to set GOT. The hardcoded number "8" accounts for $pc difference 225 ;; The insn to set GOT. The hardcoded number "8" accounts for $pc difference
226 ;; between "mfs" and "addik" instructions. 226 ;; between "mfs" and "addik" instructions.
227 (define_insn "set_got" 227 (define_insn "set_got"
@@ -231,7 +231,7 @@ index e7c7cf3e8b5..74bb30cb9e8 100644
231 "" 231 ""
232 "mfs\t%0,rpc\n\taddik\t%0,%0,_GLOBAL_OFFSET_TABLE_+8" 232 "mfs\t%0,rpc\n\taddik\t%0,%0,_GLOBAL_OFFSET_TABLE_+8"
233diff --git a/libgcc/config/microblaze/crti.S b/libgcc/config/microblaze/crti.S 233diff --git a/libgcc/config/microblaze/crti.S b/libgcc/config/microblaze/crti.S
234index 005825f1ec5..b7436c7131f 100644 234index bc69d890370..7400eeb2e3b 100644
235--- a/libgcc/config/microblaze/crti.S 235--- a/libgcc/config/microblaze/crti.S
236+++ b/libgcc/config/microblaze/crti.S 236+++ b/libgcc/config/microblaze/crti.S
237@@ -33,11 +33,32 @@ 237@@ -33,11 +33,32 @@
@@ -274,7 +274,7 @@ index 005825f1ec5..b7436c7131f 100644
274 sw r15, r0, r1 274 sw r15, r0, r1
275+#endif 275+#endif
276diff --git a/libgcc/config/microblaze/crtn.S b/libgcc/config/microblaze/crtn.S 276diff --git a/libgcc/config/microblaze/crtn.S b/libgcc/config/microblaze/crtn.S
277index 5705eff9a4a..f1148ffebe4 100644 277index 1a1f0a8e0f3..14d9a084e3e 100644
278--- a/libgcc/config/microblaze/crtn.S 278--- a/libgcc/config/microblaze/crtn.S
279+++ b/libgcc/config/microblaze/crtn.S 279+++ b/libgcc/config/microblaze/crtn.S
280@@ -29,7 +29,19 @@ 280@@ -29,7 +29,19 @@
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0036-Added-double-arith-instructions.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0034-Added-double-arith-instructions.patch
index 3f52e879..293c9f90 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0036-Added-double-arith-instructions.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0034-Added-double-arith-instructions.patch
@@ -1,7 +1,7 @@
1From 2bb5cef1a85d63ebf155bcb0070492b0ad298dd8 Mon Sep 17 00:00:00 2001 1From 93874549e864b39689060edda456c897ea0fac4e Mon Sep 17 00:00:00 2001
2From: Nagaraju Mekala <nmekala@xilix.com> 2From: Nagaraju Mekala <nmekala@xilix.com>
3Date: Tue, 9 Oct 2018 10:07:08 +0530 3Date: Tue, 9 Oct 2018 10:07:08 +0530
4Subject: [PATCH 36/54] -Added double arith instructions -Fixed prologue stack 4Subject: [PATCH 34/53] -Added double arith instructions -Fixed prologue stack
5 pointer decrement issue 5 pointer decrement issue
6 6
7--- 7---
@@ -10,7 +10,7 @@ Subject: [PATCH 36/54] -Added double arith instructions -Fixed prologue stack
10 2 files changed, 76 insertions(+), 9 deletions(-) 10 2 files changed, 76 insertions(+), 9 deletions(-)
11 11
12diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md 12diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
13index 74bb30cb9e8..1401d6b77ff 100644 13index 7d6cf263eb6..943037336f1 100644
14--- a/gcc/config/microblaze/microblaze.md 14--- a/gcc/config/microblaze/microblaze.md
15+++ b/gcc/config/microblaze/microblaze.md 15+++ b/gcc/config/microblaze/microblaze.md
16@@ -527,6 +527,66 @@ 16@@ -527,6 +527,66 @@
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0037-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0035-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch
index 2253b759..6135b952 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0037-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0035-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch
@@ -1,7 +1,7 @@
1From 2feba7c8902be8d5c4cc99feca0581472c16de0c Mon Sep 17 00:00:00 2001 1From 8c359136e4b5ca105946b259212ed4bac0a69a9e Mon Sep 17 00:00:00 2001
2From: Nagaraju Mekala <nmekala@xilix.com> 2From: Nagaraju Mekala <nmekala@xilix.com>
3Date: Fri, 12 Oct 2018 16:07:36 +0530 3Date: Fri, 12 Oct 2018 16:07:36 +0530
4Subject: [PATCH 37/54] Fixed the issue in the delay slot with swap 4Subject: [PATCH 35/53] Fixed the issue in the delay slot with swap
5 instructions 5 instructions
6 6
7--- 7---
@@ -9,7 +9,7 @@ Subject: [PATCH 37/54] Fixed the issue in the delay slot with swap
9 1 file changed, 6 insertions(+) 9 1 file changed, 6 insertions(+)
10 10
11diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md 11diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
12index 1401d6b77ff..a91108cf0e5 100644 12index 943037336f1..162c6231a86 100644
13--- a/gcc/config/microblaze/microblaze.md 13--- a/gcc/config/microblaze/microblaze.md
14+++ b/gcc/config/microblaze/microblaze.md 14+++ b/gcc/config/microblaze/microblaze.md
15@@ -443,6 +443,9 @@ 15@@ -443,6 +443,9 @@
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0038-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0036-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch
index 57905e66..23b640a6 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0038-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0036-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch
@@ -1,7 +1,7 @@
1From 10d59c50195cff30c4e74959ef4cebc9065808a4 Mon Sep 17 00:00:00 2001 1From 08ca1c1550145a8bddbd03a594620db13a259238 Mon Sep 17 00:00:00 2001
2From: Nagaraju Mekala <nmekala@xilix.com> 2From: Nagaraju Mekala <nmekala@xilix.com>
3Date: Sat, 13 Oct 2018 21:12:43 +0530 3Date: Sat, 13 Oct 2018 21:12:43 +0530
4Subject: [PATCH 38/54] Fixed the load store issue with the 32bit arith 4Subject: [PATCH 36/53] Fixed the load store issue with the 32bit arith
5 libraries 5 libraries
6 6
7--- 7---
@@ -13,7 +13,7 @@ Subject: [PATCH 38/54] Fixed the load store issue with the 32bit arith
13 5 files changed, 98 insertions(+), 4 deletions(-) 13 5 files changed, 98 insertions(+), 4 deletions(-)
14 14
15diff --git a/libgcc/config/microblaze/divsi3.S b/libgcc/config/microblaze/divsi3.S 15diff --git a/libgcc/config/microblaze/divsi3.S b/libgcc/config/microblaze/divsi3.S
16index bb047094e2f..104243e35fe 100644 16index 886a4f2bb36..3a7fc4d6122 100644
17--- a/libgcc/config/microblaze/divsi3.S 17--- a/libgcc/config/microblaze/divsi3.S
18+++ b/libgcc/config/microblaze/divsi3.S 18+++ b/libgcc/config/microblaze/divsi3.S
19@@ -41,6 +41,17 @@ 19@@ -41,6 +41,17 @@
@@ -70,7 +70,7 @@ index bb047094e2f..104243e35fe 100644
70 .size __divsi3, . - __divsi3 70 .size __divsi3, . - __divsi3
71 71
72diff --git a/libgcc/config/microblaze/modsi3.S b/libgcc/config/microblaze/modsi3.S 72diff --git a/libgcc/config/microblaze/modsi3.S b/libgcc/config/microblaze/modsi3.S
73index 9692ff310ff..9500d64bdc0 100644 73index 2c4f39a045f..3e405ea6267 100644
74--- a/libgcc/config/microblaze/modsi3.S 74--- a/libgcc/config/microblaze/modsi3.S
75+++ b/libgcc/config/microblaze/modsi3.S 75+++ b/libgcc/config/microblaze/modsi3.S
76@@ -41,6 +41,17 @@ 76@@ -41,6 +41,17 @@
@@ -128,7 +128,7 @@ index 9692ff310ff..9500d64bdc0 100644
128 .size __modsi3, . - __modsi3 128 .size __modsi3, . - __modsi3
129 129
130diff --git a/libgcc/config/microblaze/mulsi3.S b/libgcc/config/microblaze/mulsi3.S 130diff --git a/libgcc/config/microblaze/mulsi3.S b/libgcc/config/microblaze/mulsi3.S
131index cb3b6b8321f..2044399db4a 100644 131index c50a380177a..0329fa3037a 100644
132--- a/libgcc/config/microblaze/mulsi3.S 132--- a/libgcc/config/microblaze/mulsi3.S
133+++ b/libgcc/config/microblaze/mulsi3.S 133+++ b/libgcc/config/microblaze/mulsi3.S
134@@ -41,6 +41,9 @@ 134@@ -41,6 +41,9 @@
@@ -142,7 +142,7 @@ index cb3b6b8321f..2044399db4a 100644
142 .frame r1,0,r15 142 .frame r1,0,r15
143 add r3,r0,r0 143 add r3,r0,r0
144diff --git a/libgcc/config/microblaze/udivsi3.S b/libgcc/config/microblaze/udivsi3.S 144diff --git a/libgcc/config/microblaze/udivsi3.S b/libgcc/config/microblaze/udivsi3.S
145index ee2bdd0950d..d2332bcfe62 100644 145index 1bf73265b98..7bdcd8873e5 100644
146--- a/libgcc/config/microblaze/udivsi3.S 146--- a/libgcc/config/microblaze/udivsi3.S
147+++ b/libgcc/config/microblaze/udivsi3.S 147+++ b/libgcc/config/microblaze/udivsi3.S
148@@ -41,6 +41,16 @@ 148@@ -41,6 +41,16 @@
@@ -197,7 +197,7 @@ index ee2bdd0950d..d2332bcfe62 100644
197 .end __udivsi3 197 .end __udivsi3
198 .size __udivsi3, . - __udivsi3 198 .size __udivsi3, . - __udivsi3
199diff --git a/libgcc/config/microblaze/umodsi3.S b/libgcc/config/microblaze/umodsi3.S 199diff --git a/libgcc/config/microblaze/umodsi3.S b/libgcc/config/microblaze/umodsi3.S
200index 12c082f6417..30bd8c20b58 100644 200index 2bc0909605f..7d1e4484a53 100644
201--- a/libgcc/config/microblaze/umodsi3.S 201--- a/libgcc/config/microblaze/umodsi3.S
202+++ b/libgcc/config/microblaze/umodsi3.S 202+++ b/libgcc/config/microblaze/umodsi3.S
203@@ -41,6 +41,16 @@ 203@@ -41,6 +41,16 @@
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0039-extending-the-Dwarf-support-to-64bit-Microblaze.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0037-extending-the-Dwarf-support-to-64bit-Microblaze.patch
index 8f46859a..3f0ec920 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0039-extending-the-Dwarf-support-to-64bit-Microblaze.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0037-extending-the-Dwarf-support-to-64bit-Microblaze.patch
@@ -1,14 +1,14 @@
1From e51fb2d87f412d1f7045050c5c2df664766de706 Mon Sep 17 00:00:00 2001 1From 3fbf3d7049cccb5ddec02e3360f1b4da0eb5a177 Mon Sep 17 00:00:00 2001
2From: Nagaraju Mekala <nmekala@xilix.com> 2From: Nagaraju Mekala <nmekala@xilix.com>
3Date: Mon, 15 Oct 2018 12:00:10 +0530 3Date: Mon, 15 Oct 2018 12:00:10 +0530
4Subject: [PATCH 39/54] extending the Dwarf support to 64bit Microblaze 4Subject: [PATCH 37/53] extending the Dwarf support to 64bit Microblaze
5 5
6--- 6---
7 gcc/config/microblaze/microblaze.h | 2 +- 7 gcc/config/microblaze/microblaze.h | 2 +-
8 1 file changed, 1 insertion(+), 1 deletion(-) 8 1 file changed, 1 insertion(+), 1 deletion(-)
9 9
10diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h 10diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
11index 60c552958b8..747adcc7a70 100644 11index 17bf470c95b..b0c44c4fd50 100644
12--- a/gcc/config/microblaze/microblaze.h 12--- a/gcc/config/microblaze/microblaze.h
13+++ b/gcc/config/microblaze/microblaze.h 13+++ b/gcc/config/microblaze/microblaze.h
14@@ -207,7 +207,7 @@ extern enum pipeline_type microblaze_pipe; 14@@ -207,7 +207,7 @@ extern enum pipeline_type microblaze_pipe;
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0040-fixing-the-typo-errors-in-umodsi3-file.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0038-fixing-the-typo-errors-in-umodsi3-file.patch
index e7e581e3..0f91a572 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0040-fixing-the-typo-errors-in-umodsi3-file.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0038-fixing-the-typo-errors-in-umodsi3-file.patch
@@ -1,14 +1,14 @@
1From 61be4b342d470aeb7ad1c0cc5e90f5afdc906c00 Mon Sep 17 00:00:00 2001 1From 23c8d1d396c7ae5e478c793b72fddcec80dfd083 Mon Sep 17 00:00:00 2001
2From: Nagaraju Mekala <nmekala@xilix.com> 2From: Nagaraju Mekala <nmekala@xilix.com>
3Date: Tue, 16 Oct 2018 07:55:46 +0530 3Date: Tue, 16 Oct 2018 07:55:46 +0530
4Subject: [PATCH 40/54] fixing the typo errors in umodsi3 file 4Subject: [PATCH 38/53] fixing the typo errors in umodsi3 file
5 5
6--- 6---
7 libgcc/config/microblaze/umodsi3.S | 6 +++--- 7 libgcc/config/microblaze/umodsi3.S | 6 +++---
8 1 file changed, 3 insertions(+), 3 deletions(-) 8 1 file changed, 3 insertions(+), 3 deletions(-)
9 9
10diff --git a/libgcc/config/microblaze/umodsi3.S b/libgcc/config/microblaze/umodsi3.S 10diff --git a/libgcc/config/microblaze/umodsi3.S b/libgcc/config/microblaze/umodsi3.S
11index 30bd8c20b58..2dd72aef68e 100644 11index 7d1e4484a53..63ab1c2a357 100644
12--- a/libgcc/config/microblaze/umodsi3.S 12--- a/libgcc/config/microblaze/umodsi3.S
13+++ b/libgcc/config/microblaze/umodsi3.S 13+++ b/libgcc/config/microblaze/umodsi3.S
14@@ -47,9 +47,9 @@ __umodsi3: 14@@ -47,9 +47,9 @@ __umodsi3:
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0041-fixing-the-32bit-LTO-related-issue9-1014024.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0039-fixing-the-32bit-LTO-related-issue9-1014024.patch
index 9f9afdb9..6aa6937f 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0041-fixing-the-32bit-LTO-related-issue9-1014024.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0039-fixing-the-32bit-LTO-related-issue9-1014024.patch
@@ -1,14 +1,14 @@
1From b1eb7b1f6c33246ded3501364279a5f002cd8de0 Mon Sep 17 00:00:00 2001 1From cc2c7e5255edc97064d29880f156d603d3ec740a Mon Sep 17 00:00:00 2001
2From: Nagaraju Mekala <nmekala@xilix.com> 2From: Nagaraju Mekala <nmekala@xilix.com>
3Date: Wed, 17 Oct 2018 16:56:14 +0530 3Date: Wed, 17 Oct 2018 16:56:14 +0530
4Subject: [PATCH 41/54] fixing the 32bit LTO related issue9(1014024) 4Subject: [PATCH 39/53] fixing the 32bit LTO related issue9(1014024)
5 5
6--- 6---
7 gcc/config/microblaze/microblaze.h | 24 ++++++++++++++---------- 7 gcc/config/microblaze/microblaze.h | 24 ++++++++++++++----------
8 1 file changed, 14 insertions(+), 10 deletions(-) 8 1 file changed, 14 insertions(+), 10 deletions(-)
9 9
10diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h 10diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
11index 747adcc7a70..bfa7bc9a01c 100644 11index b0c44c4fd50..c6c3a9baa5a 100644
12--- a/gcc/config/microblaze/microblaze.h 12--- a/gcc/config/microblaze/microblaze.h
13+++ b/gcc/config/microblaze/microblaze.h 13+++ b/gcc/config/microblaze/microblaze.h
14@@ -265,12 +265,14 @@ extern enum pipeline_type microblaze_pipe; 14@@ -265,12 +265,14 @@ extern enum pipeline_type microblaze_pipe;
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0042-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0040-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch
index fb31d663..e086a851 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0042-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0040-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch
@@ -1,7 +1,7 @@
1From e0820fe8c8d9b7504595794fe6e65151d22e2acf Mon Sep 17 00:00:00 2001 1From 7d245c4d22c5c845666f33f19d23c075dcae2af6 Mon Sep 17 00:00:00 2001
2From: Nagaraju Mekala <nmekala@xilix.com> 2From: Nagaraju Mekala <nmekala@xilix.com>
3Date: Fri, 19 Oct 2018 14:26:25 +0530 3Date: Fri, 19 Oct 2018 14:26:25 +0530
4Subject: [PATCH 42/54] Fixed the missing stack adjustment in prologue of 4Subject: [PATCH 40/53] Fixed the missing stack adjustment in prologue of
5 modsi3 function 5 modsi3 function
6 6
7--- 7---
@@ -9,7 +9,7 @@ Subject: [PATCH 42/54] Fixed the missing stack adjustment in prologue of
9 1 file changed, 1 insertion(+) 9 1 file changed, 1 insertion(+)
10 10
11diff --git a/libgcc/config/microblaze/modsi3.S b/libgcc/config/microblaze/modsi3.S 11diff --git a/libgcc/config/microblaze/modsi3.S b/libgcc/config/microblaze/modsi3.S
12index 9500d64bdc0..4dbb25900d9 100644 12index 3e405ea6267..c98442c01c2 100644
13--- a/libgcc/config/microblaze/modsi3.S 13--- a/libgcc/config/microblaze/modsi3.S
14+++ b/libgcc/config/microblaze/modsi3.S 14+++ b/libgcc/config/microblaze/modsi3.S
15@@ -119,6 +119,7 @@ $LaRETURN_HERE: 15@@ -119,6 +119,7 @@ $LaRETURN_HERE:
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0043-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0041-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch
index ce8b1384..b3b04ae7 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0043-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0041-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch
@@ -1,7 +1,7 @@
1From 1f288ec920d938accb084dc0d1d6f6115950c014 Mon Sep 17 00:00:00 2001 1From 4de570fde0740cbcfea443aea24c2cfc9df5a876 Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Wed, 24 Oct 2018 18:31:04 +0530 3Date: Wed, 24 Oct 2018 18:31:04 +0530
4Subject: [PATCH 43/54] [Patch,Microblaze] : corrected SPN for dlong 4Subject: [PATCH 41/53] [Patch,Microblaze] : corrected SPN for dlong
5 instruction mapping. 5 instruction mapping.
6 6
7--- 7---
@@ -9,7 +9,7 @@ Subject: [PATCH 43/54] [Patch,Microblaze] : corrected SPN for dlong
9 1 file changed, 2 insertions(+), 2 deletions(-) 9 1 file changed, 2 insertions(+), 2 deletions(-)
10 10
11diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md 11diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
12index a91108cf0e5..19801f8edcc 100644 12index 162c6231a86..f62ad28130b 100644
13--- a/gcc/config/microblaze/microblaze.md 13--- a/gcc/config/microblaze/microblaze.md
14+++ b/gcc/config/microblaze/microblaze.md 14+++ b/gcc/config/microblaze/microblaze.md
15@@ -602,9 +602,9 @@ 15@@ -602,9 +602,9 @@
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0044-fixing-the-long-long-long-mingw-toolchain-issue.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0042-fixing-the-long-long-long-mingw-toolchain-issue.patch
index fec0a2af..29e8d753 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0044-fixing-the-long-long-long-mingw-toolchain-issue.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0042-fixing-the-long-long-long-mingw-toolchain-issue.patch
@@ -1,7 +1,7 @@
1From eed2bf4db9bdfc0da1c3f77ce746fb5bfa460b3c Mon Sep 17 00:00:00 2001 1From b2d05f4ad5c66fb8cec37064a77d21194db9dd32 Mon Sep 17 00:00:00 2001
2From: Nagaraju Mekala <nmekala@xilix.com> 2From: Nagaraju Mekala <nmekala@xilix.com>
3Date: Thu, 29 Nov 2018 17:55:08 +0530 3Date: Thu, 29 Nov 2018 17:55:08 +0530
4Subject: [PATCH 44/54] fixing the long & long long mingw toolchain issue 4Subject: [PATCH 42/53] fixing the long & long long mingw toolchain issue
5 5
6--- 6---
7 gcc/config/microblaze/constraints.md | 2 +- 7 gcc/config/microblaze/constraints.md | 2 +-
@@ -9,7 +9,7 @@ Subject: [PATCH 44/54] fixing the long & long long mingw toolchain issue
9 2 files changed, 5 insertions(+), 5 deletions(-) 9 2 files changed, 5 insertions(+), 5 deletions(-)
10 10
11diff --git a/gcc/config/microblaze/constraints.md b/gcc/config/microblaze/constraints.md 11diff --git a/gcc/config/microblaze/constraints.md b/gcc/config/microblaze/constraints.md
12index b8ef1650f92..89db511c453 100644 12index 0a4d5269314..e3f89491fb4 100644
13--- a/gcc/config/microblaze/constraints.md 13--- a/gcc/config/microblaze/constraints.md
14+++ b/gcc/config/microblaze/constraints.md 14+++ b/gcc/config/microblaze/constraints.md
15@@ -55,7 +55,7 @@ 15@@ -55,7 +55,7 @@
@@ -22,7 +22,7 @@ index b8ef1650f92..89db511c453 100644
22 22
23 ;; Define floating point constraints 23 ;; Define floating point constraints
24diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md 24diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
25index 19801f8edcc..8f0ae901b77 100644 25index f62ad28130b..74be0728e75 100644
26--- a/gcc/config/microblaze/microblaze.md 26--- a/gcc/config/microblaze/microblaze.md
27+++ b/gcc/config/microblaze/microblaze.md 27+++ b/gcc/config/microblaze/microblaze.md
28@@ -648,8 +648,8 @@ 28@@ -648,8 +648,8 @@
@@ -36,7 +36,7 @@ index 19801f8edcc..8f0ae901b77 100644
36 FAIL; 36 FAIL;
37 } 37 }
38 }) 38 })
39@@ -1266,7 +1266,7 @@ 39@@ -1264,7 +1264,7 @@
40 (match_operand:DI 1 "immediate_operand" "J,I,Mnis"))] 40 (match_operand:DI 1 "immediate_operand" "J,I,Mnis"))]
41 "TARGET_MB_64 && (register_operand (operands[0], DImode) && 41 "TARGET_MB_64 && (register_operand (operands[0], DImode) &&
42 (GET_CODE (operands[1]) == CONST_INT && 42 (GET_CODE (operands[1]) == CONST_INT &&
@@ -45,7 +45,7 @@ index 19801f8edcc..8f0ae901b77 100644
45 "@ 45 "@
46 addlk\t%0,r0,r0\t 46 addlk\t%0,r0,r0\t
47 addlik\t%0,r0,%1\t #N1 %X1 47 addlik\t%0,r0,%1\t #N1 %X1
48@@ -1300,7 +1300,7 @@ 48@@ -1298,7 +1298,7 @@
49 case 1: 49 case 1:
50 case 2: 50 case 2:
51 if (GET_CODE (operands[1]) == CONST_INT && 51 if (GET_CODE (operands[1]) == CONST_INT &&
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0045-Fix-the-MB-64-bug-of-handling-QI-objects.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0043-Fix-the-MB-64-bug-of-handling-QI-objects.patch
index 15acc1cb..4fcf90c8 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0045-Fix-the-MB-64-bug-of-handling-QI-objects.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0043-Fix-the-MB-64-bug-of-handling-QI-objects.patch
@@ -1,17 +1,17 @@
1From 682f65fa3a6b37c207b0d727dd22b6f8cc5d8d3d Mon Sep 17 00:00:00 2001 1From 3691860b698107ce5338468cbef932c63d195961 Mon Sep 17 00:00:00 2001
2From: Nagaraju <nmekala@xilinx.com> 2From: Nagaraju <nmekala@xilinx.com>
3Date: Thu, 14 Mar 2019 18:11:04 +0530 3Date: Thu, 14 Mar 2019 18:11:04 +0530
4Subject: [PATCH 45/54] Fix the MB-64 bug of handling QI objects 4Subject: [PATCH 43/53] Fix the MB-64 bug of handling QI objects
5 5
6--- 6---
7 gcc/config/microblaze/microblaze.md | 14 +++++++------- 7 gcc/config/microblaze/microblaze.md | 14 +++++++-------
8 1 file changed, 7 insertions(+), 7 deletions(-) 8 1 file changed, 7 insertions(+), 7 deletions(-)
9 9
10diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md 10diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
11index 8f0ae901b77..207d2bf1b55 100644 11index 74be0728e75..fed6f5e0234 100644
12--- a/gcc/config/microblaze/microblaze.md 12--- a/gcc/config/microblaze/microblaze.md
13+++ b/gcc/config/microblaze/microblaze.md 13+++ b/gcc/config/microblaze/microblaze.md
14@@ -2348,11 +2348,11 @@ else 14@@ -2345,11 +2345,11 @@ else
15 15
16 (define_insn "branch_zero_64" 16 (define_insn "branch_zero_64"
17 [(set (pc) 17 [(set (pc)
@@ -26,7 +26,7 @@ index 8f0ae901b77..207d2bf1b55 100644
26 ] 26 ]
27 "TARGET_MB_64" 27 "TARGET_MB_64"
28 { 28 {
29@@ -2368,11 +2368,11 @@ else 29@@ -2365,11 +2365,11 @@ else
30 30
31 (define_insn "long_branch_zero" 31 (define_insn "long_branch_zero"
32 [(set (pc) 32 [(set (pc)
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0046-Patch-Microblaze-We-will-check-the-possibility-of-pe.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0044-Patch-Microblaze-We-will-check-the-possibility-of-pe.patch
index eebf6ee7..43c13b31 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0046-Patch-Microblaze-We-will-check-the-possibility-of-pe.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0044-Patch-Microblaze-We-will-check-the-possibility-of-pe.patch
@@ -1,7 +1,7 @@
1From 444a09859149f8d21777a1c859ef2305ff86b211 Mon Sep 17 00:00:00 2001 1From b26f11b38406605f1601626f9ee8267f85b4857c Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Fri, 29 Mar 2019 12:08:39 +0530 3Date: Fri, 29 Mar 2019 12:08:39 +0530
4Subject: [PATCH 46/54] [Patch,Microblaze] : We will check the possibility of 4Subject: [PATCH 44/53] [Patch,Microblaze] : We will check the possibility of
5 peephole2 optimization,if we can then we will fix the compiler issue. 5 peephole2 optimization,if we can then we will fix the compiler issue.
6 6
7--- 7---
@@ -9,7 +9,7 @@ Subject: [PATCH 46/54] [Patch,Microblaze] : We will check the possibility of
9 1 file changed, 38 insertions(+), 25 deletions(-) 9 1 file changed, 38 insertions(+), 25 deletions(-)
10 10
11diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md 11diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
12index 207d2bf1b55..9b88666c0a6 100644 12index fed6f5e0234..1490a522a4c 100644
13--- a/gcc/config/microblaze/microblaze.md 13--- a/gcc/config/microblaze/microblaze.md
14+++ b/gcc/config/microblaze/microblaze.md 14+++ b/gcc/config/microblaze/microblaze.md
15@@ -882,31 +882,44 @@ 15@@ -882,31 +882,44 @@
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0047-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0045-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch
index 34378812..3edef57a 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0047-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0045-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch
@@ -1,7 +1,7 @@
1From 7cc6db7ad5bf2fac80a81711c70ac1147ab87b2c Mon Sep 17 00:00:00 2001 1From db8016ae6874865f57c6841ecabf9d9cdf785ece Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Wed, 17 Apr 2019 12:36:16 +0530 3Date: Wed, 17 Apr 2019 12:36:16 +0530
4Subject: [PATCH 47/54] [Patch,MicroBlaze]: fixed typos in mul,div and mod 4Subject: [PATCH 45/53] [Patch,MicroBlaze]: fixed typos in mul,div and mod
5 assembly files. 5 assembly files.
6 6
7--- 7---
@@ -13,7 +13,7 @@ Subject: [PATCH 47/54] [Patch,MicroBlaze]: fixed typos in mul,div and mod
13 5 files changed, 212 insertions(+), 20 deletions(-) 13 5 files changed, 212 insertions(+), 20 deletions(-)
14 14
15diff --git a/libgcc/config/microblaze/divsi3.S b/libgcc/config/microblaze/divsi3.S 15diff --git a/libgcc/config/microblaze/divsi3.S b/libgcc/config/microblaze/divsi3.S
16index 104243e35fe..5755e29fbb6 100644 16index 3a7fc4d6122..0fd275c8702 100644
17--- a/libgcc/config/microblaze/divsi3.S 17--- a/libgcc/config/microblaze/divsi3.S
18+++ b/libgcc/config/microblaze/divsi3.S 18+++ b/libgcc/config/microblaze/divsi3.S
19@@ -46,7 +46,7 @@ 19@@ -46,7 +46,7 @@
@@ -107,7 +107,7 @@ index 104243e35fe..5755e29fbb6 100644
107 $LaDiv_By_Zero: 107 $LaDiv_By_Zero:
108 $LaResult_Is_Zero: 108 $LaResult_Is_Zero:
109diff --git a/libgcc/config/microblaze/modsi3.S b/libgcc/config/microblaze/modsi3.S 109diff --git a/libgcc/config/microblaze/modsi3.S b/libgcc/config/microblaze/modsi3.S
110index 4dbb25900d9..b6129f5e822 100644 110index c98442c01c2..28775d71ba0 100644
111--- a/libgcc/config/microblaze/modsi3.S 111--- a/libgcc/config/microblaze/modsi3.S
112+++ b/libgcc/config/microblaze/modsi3.S 112+++ b/libgcc/config/microblaze/modsi3.S
113@@ -62,40 +62,72 @@ __modsi3: 113@@ -62,40 +62,72 @@ __modsi3:
@@ -196,7 +196,7 @@ index 4dbb25900d9..b6129f5e822 100644
196 nop 196 nop
197 #else 197 #else
198diff --git a/libgcc/config/microblaze/mulsi3.S b/libgcc/config/microblaze/mulsi3.S 198diff --git a/libgcc/config/microblaze/mulsi3.S b/libgcc/config/microblaze/mulsi3.S
199index 2044399db4a..95709d5bb01 100644 199index 0329fa3037a..7557368bc1c 100644
200--- a/libgcc/config/microblaze/mulsi3.S 200--- a/libgcc/config/microblaze/mulsi3.S
201+++ b/libgcc/config/microblaze/mulsi3.S 201+++ b/libgcc/config/microblaze/mulsi3.S
202@@ -43,7 +43,37 @@ 202@@ -43,7 +43,37 @@
@@ -246,7 +246,7 @@ index 2044399db4a..95709d5bb01 100644
246 .end __mulsi3 246 .end __mulsi3
247 .size __mulsi3, . - __mulsi3 247 .size __mulsi3, . - __mulsi3
248diff --git a/libgcc/config/microblaze/udivsi3.S b/libgcc/config/microblaze/udivsi3.S 248diff --git a/libgcc/config/microblaze/udivsi3.S b/libgcc/config/microblaze/udivsi3.S
249index d2332bcfe62..687d5588801 100644 249index 7bdcd8873e5..feff14664fb 100644
250--- a/libgcc/config/microblaze/udivsi3.S 250--- a/libgcc/config/microblaze/udivsi3.S
251+++ b/libgcc/config/microblaze/udivsi3.S 251+++ b/libgcc/config/microblaze/udivsi3.S
252@@ -59,52 +59,96 @@ __udivsi3: 252@@ -59,52 +59,96 @@ __udivsi3:
@@ -360,7 +360,7 @@ index d2332bcfe62..687d5588801 100644
360 NOP 360 NOP
361 #else 361 #else
362diff --git a/libgcc/config/microblaze/umodsi3.S b/libgcc/config/microblaze/umodsi3.S 362diff --git a/libgcc/config/microblaze/umodsi3.S b/libgcc/config/microblaze/umodsi3.S
363index 2dd72aef68e..59646ce437f 100644 363index 63ab1c2a357..f5bbb6f2d10 100644
364--- a/libgcc/config/microblaze/umodsi3.S 364--- a/libgcc/config/microblaze/umodsi3.S
365+++ b/libgcc/config/microblaze/umodsi3.S 365+++ b/libgcc/config/microblaze/umodsi3.S
366@@ -46,7 +46,7 @@ 366@@ -46,7 +46,7 @@
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0048-Author-Nagaraju-nmekala-xilinx.com.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0046-Author-Nagaraju-nmekala-xilinx.com.patch
index 94be6aff..456c5a48 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0048-Author-Nagaraju-nmekala-xilinx.com.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0046-Author-Nagaraju-nmekala-xilinx.com.patch
@@ -1,7 +1,7 @@
1From f6b896effc198b8d9d1e6f33889f029da5e5d96c Mon Sep 17 00:00:00 2001 1From 45fcd0217edf07fcb6473812cfc4ccacc8e95aac Mon Sep 17 00:00:00 2001
2From: Nagaraju <nmekala@xilinx.com> 2From: Nagaraju <nmekala@xilinx.com>
3Date: Thu, 18 Apr 2019 16:00:37 +0530 3Date: Thu, 18 Apr 2019 16:00:37 +0530
4Subject: [PATCH 48/54] Author: Nagaraju <nmekala@xilinx.com> Date: Wed Apr 4Subject: [PATCH 46/53] Author: Nagaraju <nmekala@xilinx.com> Date: Wed Apr
5 17 14:11:00 2019 +0530 5 17 14:11:00 2019 +0530
6 6
7 [Patch, microblaze]: MB-64 removal of barrel-shift instructions from default 7 [Patch, microblaze]: MB-64 removal of barrel-shift instructions from default
@@ -16,7 +16,7 @@ Subject: [PATCH 48/54] Author: Nagaraju <nmekala@xilinx.com> Date: Wed Apr
16 2 files changed, 252 insertions(+), 19 deletions(-) 16 2 files changed, 252 insertions(+), 19 deletions(-)
17 17
18diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c 18diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
19index e32de46fa62..7b48c011550 100644 19index b2cd89a310a..d1257032bfb 100644
20--- a/gcc/config/microblaze/microblaze.c 20--- a/gcc/config/microblaze/microblaze.c
21+++ b/gcc/config/microblaze/microblaze.c 21+++ b/gcc/config/microblaze/microblaze.c
22@@ -3870,7 +3870,7 @@ microblaze_expand_divide (rtx operands[]) 22@@ -3870,7 +3870,7 @@ microblaze_expand_divide (rtx operands[])
@@ -29,7 +29,7 @@ index e32de46fa62..7b48c011550 100644
29 } 29 }
30 else { 30 else {
31diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md 31diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
32index 9b88666c0a6..60afd9be288 100644 32index 1490a522a4c..40328b0d39d 100644
33--- a/gcc/config/microblaze/microblaze.md 33--- a/gcc/config/microblaze/microblaze.md
34+++ b/gcc/config/microblaze/microblaze.md 34+++ b/gcc/config/microblaze/microblaze.md
35@@ -547,7 +547,7 @@ 35@@ -547,7 +547,7 @@
@@ -95,7 +95,7 @@ index 9b88666c0a6..60afd9be288 100644
95 "dlong\t%0,%1" 95 "dlong\t%0,%1"
96 [(set_attr "type" "fcvt") 96 [(set_attr "type" "fcvt")
97 (set_attr "mode" "DI") 97 (set_attr "mode" "DI")
98@@ -1301,6 +1301,34 @@ 98@@ -1299,6 +1299,34 @@
99 (set_attr "mode" "DI") 99 (set_attr "mode" "DI")
100 (set_attr "length" "4")]) 100 (set_attr "length" "4")])
101 101
@@ -130,7 +130,7 @@ index 9b88666c0a6..60afd9be288 100644
130 (define_insn "*movdi_internal2" 130 (define_insn "*movdi_internal2"
131 [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d, d,d,R,m") 131 [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d, d,d,R,m")
132 (match_operand:DI 1 "move_src_operand" " d,I,Mnis,R,m,dJ,dJ"))] 132 (match_operand:DI 1 "move_src_operand" " d,I,Mnis,R,m,dJ,dJ"))]
133@@ -1314,7 +1342,15 @@ 133@@ -1312,7 +1340,15 @@
134 case 2: 134 case 2:
135 if (GET_CODE (operands[1]) == CONST_INT && 135 if (GET_CODE (operands[1]) == CONST_INT &&
136 (INTVAL (operands[1]) > (long long)549755813887 || INTVAL (operands[1]) < (long long)-549755813888)) 136 (INTVAL (operands[1]) > (long long)549755813887 || INTVAL (operands[1]) < (long long)-549755813888))
@@ -147,7 +147,7 @@ index 9b88666c0a6..60afd9be288 100644
147 else 147 else
148 return "addlik\t%0,r0,%1"; 148 return "addlik\t%0,r0,%1";
149 case 3: 149 case 3:
150@@ -1389,7 +1425,7 @@ 150@@ -1387,7 +1423,7 @@
151 (define_insn "movdi_long_int" 151 (define_insn "movdi_long_int"
152 [(set (match_operand:DI 0 "nonimmediate_operand" "=d") 152 [(set (match_operand:DI 0 "nonimmediate_operand" "=d")
153 (match_operand:DI 1 "general_operand" "i"))] 153 (match_operand:DI 1 "general_operand" "i"))]
@@ -156,7 +156,7 @@ index 9b88666c0a6..60afd9be288 100644
156 "addlik\t%0,r0,%h1\n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%j1 #li => la"; 156 "addlik\t%0,r0,%h1\n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%j1 #li => la";
157 [(set_attr "type" "no_delay_arith") 157 [(set_attr "type" "no_delay_arith")
158 (set_attr "mode" "DI") 158 (set_attr "mode" "DI")
159@@ -1656,6 +1692,33 @@ 159@@ -1654,6 +1690,33 @@
160 ;; movdf_internal 160 ;; movdf_internal
161 ;; Applies to both TARGET_SOFT_FLOAT and TARGET_HARD_FLOAT 161 ;; Applies to both TARGET_SOFT_FLOAT and TARGET_HARD_FLOAT
162 ;; 162 ;;
@@ -190,7 +190,7 @@ index 9b88666c0a6..60afd9be288 100644
190 (define_insn "*movdf_internal_64" 190 (define_insn "*movdf_internal_64"
191 [(set (match_operand:DF 0 "nonimmediate_operand" "=d,d,d,d,d,m") 191 [(set (match_operand:DF 0 "nonimmediate_operand" "=d,d,d,d,d,m")
192 (match_operand:DF 1 "general_operand" "d,dG,m,F,T,d"))] 192 (match_operand:DF 1 "general_operand" "d,dG,m,F,T,d"))]
193@@ -1672,7 +1735,13 @@ 193@@ -1670,7 +1733,13 @@
194 return "ll%i1\t%0,%1"; 194 return "ll%i1\t%0,%1";
195 case 3: 195 case 3:
196 { 196 {
@@ -205,7 +205,7 @@ index 9b88666c0a6..60afd9be288 100644
205 } 205 }
206 case 5: 206 case 5:
207 return "sl%i0\t%1,%0"; 207 return "sl%i0\t%1,%0";
208@@ -1792,11 +1861,21 @@ 208@@ -1790,11 +1859,21 @@
209 "TARGET_MB_64" 209 "TARGET_MB_64"
210 { 210 {
211 ;;if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65) 211 ;;if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65)
@@ -228,7 +228,7 @@ index 9b88666c0a6..60afd9be288 100644
228 else 228 else
229 FAIL; 229 FAIL;
230 } 230 }
231@@ -1806,7 +1885,7 @@ else 231@@ -1804,7 +1883,7 @@ else
232 [(set (match_operand:DI 0 "register_operand" "=d,d") 232 [(set (match_operand:DI 0 "register_operand" "=d,d")
233 (ashift:DI (match_operand:DI 1 "register_operand" "d,d") 233 (ashift:DI (match_operand:DI 1 "register_operand" "d,d")
234 (match_operand:DI 2 "arith_operand" "I,d")))] 234 (match_operand:DI 2 "arith_operand" "I,d")))]
@@ -237,7 +237,7 @@ index 9b88666c0a6..60afd9be288 100644
237 "@ 237 "@
238 bsllli\t%0,%1,%2 238 bsllli\t%0,%1,%2
239 bslll\t%0,%1,%2" 239 bslll\t%0,%1,%2"
240@@ -1814,6 +1893,51 @@ else 240@@ -1812,6 +1891,51 @@ else
241 (set_attr "mode" "DI,DI") 241 (set_attr "mode" "DI,DI")
242 (set_attr "length" "4,4")] 242 (set_attr "length" "4,4")]
243 ) 243 )
@@ -289,7 +289,7 @@ index 9b88666c0a6..60afd9be288 100644
289 ;; The following patterns apply when there is no barrel shifter present 289 ;; The following patterns apply when there is no barrel shifter present
290 290
291 (define_insn "*ashlsi3_with_mul_delay" 291 (define_insn "*ashlsi3_with_mul_delay"
292@@ -1947,11 +2071,21 @@ else 292@@ -1945,11 +2069,21 @@ else
293 "TARGET_MB_64" 293 "TARGET_MB_64"
294 { 294 {
295 ;;if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65) 295 ;;if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65)
@@ -312,7 +312,7 @@ index 9b88666c0a6..60afd9be288 100644
312 else 312 else
313 FAIL; 313 FAIL;
314 } 314 }
315@@ -1961,7 +2095,7 @@ else 315@@ -1959,7 +2093,7 @@ else
316 [(set (match_operand:DI 0 "register_operand" "=d,d") 316 [(set (match_operand:DI 0 "register_operand" "=d,d")
317 (ashiftrt:DI (match_operand:DI 1 "register_operand" "d,d") 317 (ashiftrt:DI (match_operand:DI 1 "register_operand" "d,d")
318 (match_operand:DI 2 "arith_operand" "I,d")))] 318 (match_operand:DI 2 "arith_operand" "I,d")))]
@@ -321,7 +321,7 @@ index 9b88666c0a6..60afd9be288 100644
321 "@ 321 "@
322 bslrai\t%0,%1,%2 322 bslrai\t%0,%1,%2
323 bslra\t%0,%1,%2" 323 bslra\t%0,%1,%2"
324@@ -1969,6 +2103,51 @@ else 324@@ -1967,6 +2101,51 @@ else
325 (set_attr "mode" "DI,DI") 325 (set_attr "mode" "DI,DI")
326 (set_attr "length" "4,4")] 326 (set_attr "length" "4,4")]
327 ) 327 )
@@ -373,7 +373,7 @@ index 9b88666c0a6..60afd9be288 100644
373 (define_expand "ashrsi3" 373 (define_expand "ashrsi3"
374 [(set (match_operand:SI 0 "register_operand" "=&d") 374 [(set (match_operand:SI 0 "register_operand" "=&d")
375 (ashiftrt:SI (match_operand:SI 1 "register_operand" "d") 375 (ashiftrt:SI (match_operand:SI 1 "register_operand" "d")
376@@ -2086,11 +2265,21 @@ else 376@@ -2084,11 +2263,21 @@ else
377 "TARGET_MB_64" 377 "TARGET_MB_64"
378 { 378 {
379 ;;if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65) 379 ;;if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65)
@@ -396,7 +396,7 @@ index 9b88666c0a6..60afd9be288 100644
396 else 396 else
397 FAIL; 397 FAIL;
398 } 398 }
399@@ -2100,7 +2289,7 @@ else 399@@ -2098,7 +2287,7 @@ else
400 [(set (match_operand:DI 0 "register_operand" "=d,d") 400 [(set (match_operand:DI 0 "register_operand" "=d,d")
401 (lshiftrt:DI (match_operand:DI 1 "register_operand" "d,d") 401 (lshiftrt:DI (match_operand:DI 1 "register_operand" "d,d")
402 (match_operand:DI 2 "arith_operand" "I,d")))] 402 (match_operand:DI 2 "arith_operand" "I,d")))]
@@ -405,7 +405,7 @@ index 9b88666c0a6..60afd9be288 100644
405 "@ 405 "@
406 bslrli\t%0,%1,%2 406 bslrli\t%0,%1,%2
407 bslrl\t%0,%1,%2" 407 bslrl\t%0,%1,%2"
408@@ -2109,6 +2298,50 @@ else 408@@ -2107,6 +2296,50 @@ else
409 (set_attr "length" "4,4")] 409 (set_attr "length" "4,4")]
410 ) 410 )
411 411
@@ -456,7 +456,7 @@ index 9b88666c0a6..60afd9be288 100644
456 (define_expand "lshrsi3" 456 (define_expand "lshrsi3"
457 [(set (match_operand:SI 0 "register_operand" "=&d") 457 [(set (match_operand:SI 0 "register_operand" "=&d")
458 (lshiftrt:SI (match_operand:SI 1 "register_operand" "d") 458 (lshiftrt:SI (match_operand:SI 1 "register_operand" "d")
459@@ -2236,7 +2469,7 @@ else 459@@ -2233,7 +2466,7 @@ else
460 (eq:DI 460 (eq:DI
461 (match_operand:DI 1 "register_operand" "d") 461 (match_operand:DI 1 "register_operand" "d")
462 (match_operand:DI 2 "register_operand" "d")))] 462 (match_operand:DI 2 "register_operand" "d")))]
@@ -465,7 +465,7 @@ index 9b88666c0a6..60afd9be288 100644
465 "pcmpleq\t%0,%1,%2" 465 "pcmpleq\t%0,%1,%2"
466 [(set_attr "type" "arith") 466 [(set_attr "type" "arith")
467 (set_attr "mode" "DI") 467 (set_attr "mode" "DI")
468@@ -2248,7 +2481,7 @@ else 468@@ -2245,7 +2478,7 @@ else
469 (ne:DI 469 (ne:DI
470 (match_operand:DI 1 "register_operand" "d") 470 (match_operand:DI 1 "register_operand" "d")
471 (match_operand:DI 2 "register_operand" "d")))] 471 (match_operand:DI 2 "register_operand" "d")))]
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0049-Added-new-MB-64-single-register-arithmetic-instructi.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0047-Added-new-MB-64-single-register-arithmetic-instructi.patch
index 81ecbf8e..98183053 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0049-Added-new-MB-64-single-register-arithmetic-instructi.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0047-Added-new-MB-64-single-register-arithmetic-instructi.patch
@@ -1,14 +1,14 @@
1From adb1b8d8cc2a8fb99f474d9166db9f68b8f3f8b4 Mon Sep 17 00:00:00 2001 1From 688fcf782b7eca82cb2e2ab6589dee843983a5d6 Mon Sep 17 00:00:00 2001
2From: Nagaraju <nmekala@xilinx.com> 2From: Nagaraju <nmekala@xilinx.com>
3Date: Fri, 23 Aug 2019 16:16:53 +0530 3Date: Fri, 23 Aug 2019 16:16:53 +0530
4Subject: [PATCH 49/54] Added new MB-64 single register arithmetic instructions 4Subject: [PATCH 47/53] Added new MB-64 single register arithmetic instructions
5 5
6--- 6---
7 gcc/config/microblaze/microblaze.md | 56 +++++++++++++++++++++++++++++ 7 gcc/config/microblaze/microblaze.md | 56 +++++++++++++++++++++++++++++
8 1 file changed, 56 insertions(+) 8 1 file changed, 56 insertions(+)
9 9
10diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md 10diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
11index 60afd9be288..1ad139cbd44 100644 11index 40328b0d39d..6bd042747bf 100644
12--- a/gcc/config/microblaze/microblaze.md 12--- a/gcc/config/microblaze/microblaze.md
13+++ b/gcc/config/microblaze/microblaze.md 13+++ b/gcc/config/microblaze/microblaze.md
14@@ -654,6 +654,18 @@ 14@@ -654,6 +654,18 @@
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0050-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0048-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch
index d452b988..29291154 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0050-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0048-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch
@@ -1,7 +1,7 @@
1From 797697692635d4c536181cb007b3b0d63d2431c1 Mon Sep 17 00:00:00 2001 1From 9098a760a10f09fefbdf438daf63b9e36576c9b2 Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Mon, 26 Aug 2019 15:55:22 +0530 3Date: Mon, 26 Aug 2019 15:55:22 +0530
4Subject: [PATCH 50/54] [Patch,MicroBlaze] : Added support for 64 bit Immediate 4Subject: [PATCH 48/53] [Patch,MicroBlaze] : Added support for 64 bit Immediate
5 values. 5 values.
6 6
7--- 7---
@@ -10,7 +10,7 @@ Subject: [PATCH 50/54] [Patch,MicroBlaze] : Added support for 64 bit Immediate
10 2 files changed, 3 insertions(+), 4 deletions(-) 10 2 files changed, 3 insertions(+), 4 deletions(-)
11 11
12diff --git a/gcc/config/microblaze/constraints.md b/gcc/config/microblaze/constraints.md 12diff --git a/gcc/config/microblaze/constraints.md b/gcc/config/microblaze/constraints.md
13index 89db511c453..9ad2b099310 100644 13index e3f89491fb4..ef3001764c0 100644
14--- a/gcc/config/microblaze/constraints.md 14--- a/gcc/config/microblaze/constraints.md
15+++ b/gcc/config/microblaze/constraints.md 15+++ b/gcc/config/microblaze/constraints.md
16@@ -53,9 +53,9 @@ 16@@ -53,9 +53,9 @@
@@ -26,10 +26,10 @@ index 89db511c453..9ad2b099310 100644
26 26
27 ;; Define floating point constraints 27 ;; Define floating point constraints
28diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md 28diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
29index 1ad139cbd44..93de8d831fd 100644 29index 6bd042747bf..b89a4276c7c 100644
30--- a/gcc/config/microblaze/microblaze.md 30--- a/gcc/config/microblaze/microblaze.md
31+++ b/gcc/config/microblaze/microblaze.md 31+++ b/gcc/config/microblaze/microblaze.md
32@@ -1334,8 +1334,7 @@ 32@@ -1332,8 +1332,7 @@
33 [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d") 33 [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d")
34 (match_operand:DI 1 "immediate_operand" "J,I,Mnis"))] 34 (match_operand:DI 1 "immediate_operand" "J,I,Mnis"))]
35 "TARGET_MB_64 && (register_operand (operands[0], DImode) && 35 "TARGET_MB_64 && (register_operand (operands[0], DImode) &&
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0051-Patch-microblaze-Fix-Compiler-crash-with-freg-struct.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0049-Patch-microblaze-Fix-Compiler-crash-with-freg-struct.patch
index 3e0c483b..163d4925 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0051-Patch-microblaze-Fix-Compiler-crash-with-freg-struct.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0049-Patch-microblaze-Fix-Compiler-crash-with-freg-struct.patch
@@ -1,7 +1,7 @@
1From 697db2e2c2519f27011fbd1960cd8860133aaa84 Mon Sep 17 00:00:00 2001 1From 2673e0dc2d75769c7cc36ca94e4e07caa28b8ef7 Mon Sep 17 00:00:00 2001
2From: Nagaraju <nmekala@xilinx.com> 2From: Nagaraju <nmekala@xilinx.com>
3Date: Thu, 9 Jan 2020 12:30:41 +0530 3Date: Thu, 9 Jan 2020 12:30:41 +0530
4Subject: [PATCH 51/54] [Patch, microblaze]: Fix Compiler crash with 4Subject: [PATCH 49/53] [Patch, microblaze]: Fix Compiler crash with
5 -freg-struct-return This patch fixes a bug in MB GCC regarding the passing 5 -freg-struct-return This patch fixes a bug in MB GCC regarding the passing
6 struct values in registers. Currently we are only handling SImode With this 6 struct values in registers. Currently we are only handling SImode With this
7 patch all other modes are handled properly 7 patch all other modes are handled properly
@@ -23,7 +23,7 @@ ChangeLog:
23 2 files changed, 10 insertions(+), 20 deletions(-) 23 2 files changed, 10 insertions(+), 20 deletions(-)
24 24
25diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c 25diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
26index 7b48c011550..1bba77dab6d 100644 26index d1257032bfb..5afac2ba8d1 100644
27--- a/gcc/config/microblaze/microblaze.c 27--- a/gcc/config/microblaze/microblaze.c
28+++ b/gcc/config/microblaze/microblaze.c 28+++ b/gcc/config/microblaze/microblaze.c
29@@ -3908,7 +3908,16 @@ microblaze_function_value (const_tree valtype, 29@@ -3908,7 +3908,16 @@ microblaze_function_value (const_tree valtype,
@@ -45,7 +45,7 @@ index 7b48c011550..1bba77dab6d 100644
45 45
46 /* Implement TARGET_SCHED_ADJUST_COST. */ 46 /* Implement TARGET_SCHED_ADJUST_COST. */
47diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h 47diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
48index bfa7bc9a01c..d467a7ee65d 100644 48index c6c3a9baa5a..2581d52d17a 100644
49--- a/gcc/config/microblaze/microblaze.h 49--- a/gcc/config/microblaze/microblaze.h
50+++ b/gcc/config/microblaze/microblaze.h 50+++ b/gcc/config/microblaze/microblaze.h
51@@ -266,13 +266,6 @@ extern enum pipeline_type microblaze_pipe; 51@@ -266,13 +266,6 @@ extern enum pipeline_type microblaze_pipe;
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0052-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0050-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch
index 91c7c026..37945b65 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0052-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0050-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch
@@ -1,7 +1,7 @@
1From d7d6835bd839150e864cbb0d9c9c7a497e93bbb8 Mon Sep 17 00:00:00 2001 1From 009fc9cbb72f50ac73b7f58153d0d90db46b48b8 Mon Sep 17 00:00:00 2001
2From: Nagaraju <nmekala@xilinx.com> 2From: Nagaraju <nmekala@xilinx.com>
3Date: Wed, 8 May 2019 14:12:03 +0530 3Date: Wed, 8 May 2019 14:12:03 +0530
4Subject: [PATCH 52/54] [Patch, microblaze]: Add TARGET_OPTION_OPTIMIZATION and 4Subject: [PATCH 50/53] [Patch, microblaze]: Add TARGET_OPTION_OPTIMIZATION and
5 disable fivopts by default 5 disable fivopts by default
6 6
7Added TARGET_OPTION_OPTIMIZATIONS and Turn off ivopts by default. 7Added TARGET_OPTION_OPTIMIZATIONS and Turn off ivopts by default.
@@ -18,7 +18,7 @@ Conflicts:
18 1 file changed, 11 insertions(+) 18 1 file changed, 11 insertions(+)
19 19
20diff --git a/gcc/common/config/microblaze/microblaze-common.c b/gcc/common/config/microblaze/microblaze-common.c 20diff --git a/gcc/common/config/microblaze/microblaze-common.c b/gcc/common/config/microblaze/microblaze-common.c
21index 4391f939626..cf2db8afe36 100644 21index 1e4abb34027..d3a74fcc99e 100644
22--- a/gcc/common/config/microblaze/microblaze-common.c 22--- a/gcc/common/config/microblaze/microblaze-common.c
23+++ b/gcc/common/config/microblaze/microblaze-common.c 23+++ b/gcc/common/config/microblaze/microblaze-common.c
24@@ -24,7 +24,18 @@ 24@@ -24,7 +24,18 @@
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0053-Patch-microblaze-Reducing-Stack-space-for-arguments.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0051-Patch-microblaze-Reducing-Stack-space-for-arguments.patch
index 377154d7..73b170c1 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0053-Patch-microblaze-Reducing-Stack-space-for-arguments.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0051-Patch-microblaze-Reducing-Stack-space-for-arguments.patch
@@ -1,7 +1,7 @@
1From e146b21e18e51ab6ce77af2c39cdf3375606c1eb Mon Sep 17 00:00:00 2001 1From f52258e89f2ea416f418b6c55fef15552a081e18 Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Tue, 24 Nov 2020 12:26:32 +0530 3Date: Tue, 24 Nov 2020 12:26:32 +0530
4Subject: [PATCH 53/54] [Patch, microblaze]: Reducing Stack space for arguments 4Subject: [PATCH 51/53] [Patch, microblaze]: Reducing Stack space for arguments
5 5
6Currently in Microblaze target stack space for arguments in register is being 6Currently in Microblaze target stack space for arguments in register is being
7allocated even if there are no arguments in the function. 7allocated even if there are no arguments in the function.
@@ -16,7 +16,7 @@ Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
16 3 files changed, 134 insertions(+), 3 deletions(-) 16 3 files changed, 134 insertions(+), 3 deletions(-)
17 17
18diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h 18diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h
19index 460feac4ac5..b8a3321dbdf 100644 19index 302f6bbda2e..87a7093e369 100644
20--- a/gcc/config/microblaze/microblaze-protos.h 20--- a/gcc/config/microblaze/microblaze-protos.h
21+++ b/gcc/config/microblaze/microblaze-protos.h 21+++ b/gcc/config/microblaze/microblaze-protos.h
22@@ -60,6 +60,7 @@ extern int symbol_mentioned_p (rtx); 22@@ -60,6 +60,7 @@ extern int symbol_mentioned_p (rtx);
@@ -28,7 +28,7 @@ index 460feac4ac5..b8a3321dbdf 100644
28 28
29 /* Declare functions in microblaze-c.c. */ 29 /* Declare functions in microblaze-c.c. */
30diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c 30diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
31index 1bba77dab6d..dac0596bc7d 100644 31index 5afac2ba8d1..6914eb8380c 100644
32--- a/gcc/config/microblaze/microblaze.c 32--- a/gcc/config/microblaze/microblaze.c
33+++ b/gcc/config/microblaze/microblaze.c 33+++ b/gcc/config/microblaze/microblaze.c
34@@ -2080,6 +2080,136 @@ microblaze_must_save_register (int regno) 34@@ -2080,6 +2080,136 @@ microblaze_must_save_register (int regno)
@@ -178,7 +178,7 @@ index 1bba77dab6d..dac0596bc7d 100644
178 shorten_branches (insn); 178 shorten_branches (insn);
179 assemble_start_function (thunk_fndecl, fnname); 179 assemble_start_function (thunk_fndecl, fnname);
180diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h 180diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
181index d467a7ee65d..be6c798c889 100644 181index 2581d52d17a..9c48978d2ca 100644
182--- a/gcc/config/microblaze/microblaze.h 182--- a/gcc/config/microblaze/microblaze.h
183+++ b/gcc/config/microblaze/microblaze.h 183+++ b/gcc/config/microblaze/microblaze.h
184@@ -447,9 +447,9 @@ extern struct microblaze_frame_info current_frame_info; 184@@ -447,9 +447,9 @@ extern struct microblaze_frame_info current_frame_info;
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0055-Patch-MicroBlaze.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0052-Patch-MicroBlaze.patch
index 4d6cbae6..293a7486 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0055-Patch-MicroBlaze.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0052-Patch-MicroBlaze.patch
@@ -1,17 +1,18 @@
1From db280c2d72bb043215b2fdfe7cf959fb50d3ce80 Mon Sep 17 00:00:00 2001 1From b0ea0d18d1b353421ef7e18d496fd505cb1d5f7d Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com> 2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Wed, 28 Apr 2021 16:49:18 +0530 3Date: Wed, 28 Apr 2021 16:49:18 +0530
4Subject: [PATCH 55] [Patch,MicroBlaze] : If we use break_handler attribute then 4Subject: [PATCH 52/53] [Patch,MicroBlaze] : If we use break_handler attribute
5 interrupt vector call happened to break_handler instead of interrupt_handler. 5 then interrupt vector call happened to break_handler instead of
6 this fix will resolve the issue CR-1081780 This fix will not change the 6 interrupt_handler. this fix will resolve the issue CR-1081780 This fix will
7 behavior of compiler unless there is a usage of break_handler attribute. 7 not change the behavior of compiler unless there is a usage of break_handler
8 attribute.
8 9
9--- 10---
10 gcc/config/microblaze/microblaze.c | 13 +++++-------- 11 gcc/config/microblaze/microblaze.c | 13 +++++--------
11 1 file changed, 5 insertions(+), 8 deletions(-) 12 1 file changed, 5 insertions(+), 8 deletions(-)
12 13
13diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c 14diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
14index d72eb7d5898..e47eb1cd0fe 100644 15index 6914eb8380c..d0546a164d7 100644
15--- a/gcc/config/microblaze/microblaze.c 16--- a/gcc/config/microblaze/microblaze.c
16+++ b/gcc/config/microblaze/microblaze.c 17+++ b/gcc/config/microblaze/microblaze.c
17@@ -2019,7 +2019,7 @@ microblaze_save_volatiles (tree func) 18@@ -2019,7 +2019,7 @@ microblaze_save_volatiles (tree func)
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0056-patch-microblaze64-Add-Zero_extended-instructions.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0053-patch-microblaze64-Add-Zero_extended-instructions.patch
index 949e6346..76148d15 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0056-patch-microblaze64-Add-Zero_extended-instructions.patch
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0053-patch-microblaze64-Add-Zero_extended-instructions.patch
@@ -1,7 +1,7 @@
1From 4096da3ea3765ec9484af719a16074789b8946ee Mon Sep 17 00:00:00 2001 1From 7c9402f1dc641a1fe4110e92cd16a33ed4bd35cf Mon Sep 17 00:00:00 2001
2From: Nagaraju Mekala <nmekala@xilinx.com> 2From: Nagaraju Mekala <nmekala@xilinx.com>
3Date: Mon, 30 Aug 2021 12:13:45 +0530 3Date: Mon, 30 Aug 2021 12:13:45 +0530
4Subject: [PATCH] [patch, microblaze64]: Add Zero_extended instructions 4Subject: [PATCH 53/53] [patch, microblaze64]: Add Zero_extended instructions
5 5
6Due to latest changes in GCC-10.2 MB64 perforamance has reduced 6Due to latest changes in GCC-10.2 MB64 perforamance has reduced
7We have added zero_extended instructions to get rid of left shift 7We have added zero_extended instructions to get rid of left shift
@@ -15,7 +15,7 @@ Signed-off-by: Nagaraju Mekala<nmekala@xilinx.com>
15 1 file changed, 27 insertions(+) 15 1 file changed, 27 insertions(+)
16 16
17diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md 17diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
18index 71ac46dfb6c..51c2751e6be 100644 18index b89a4276c7c..ee078b0152a 100644
19--- a/gcc/config/microblaze/microblaze.md 19--- a/gcc/config/microblaze/microblaze.md
20+++ b/gcc/config/microblaze/microblaze.md 20+++ b/gcc/config/microblaze/microblaze.md
21@@ -1191,6 +1191,33 @@ 21@@ -1191,6 +1191,33 @@
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0054-Patch-MicroBlaze-Typo-in-the-previous-commits.bsefi-.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0054-Patch-MicroBlaze-Typo-in-the-previous-commits.bsefi-.patch
deleted file mode 100644
index 2d53e4b2..00000000
--- a/meta-microblaze/recipes-devtools/gcc/gcc-11/0054-Patch-MicroBlaze-Typo-in-the-previous-commits.bsefi-.patch
+++ /dev/null
@@ -1,49 +0,0 @@
1From 54aa2bf8d84820071de2670504d2e87cc8231c1e Mon Sep 17 00:00:00 2001
2From: Mahesh Bodapati <mbodapat@xilinx.com>
3Date: Wed, 31 Mar 2021 17:18:56 +0530
4Subject: [PATCH] [Patch,MicroBlaze] : Typo in the previous commits.bsefi/bsifi
5 should be generated only if mcpu is >= 10.0
6
7---
8 gcc/config/microblaze/microblaze.c | 2 +-
9 gcc/config/microblaze/microblaze.md | 4 ++--
10 2 files changed, 3 insertions(+), 3 deletions(-)
11
12diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
13index dac0596bc7d..d72eb7d5898 100644
14--- a/gcc/config/microblaze/microblaze.c
15+++ b/gcc/config/microblaze/microblaze.c
16@@ -1850,7 +1850,7 @@ microblaze_option_override (void)
17 "%<-mcpu=v8.30.a%>");
18 TARGET_REORDER = 0;
19 }
20- ver = microblaze_version_to_int("v10.0");
21+ ver = ver_int - microblaze_version_to_int("v10.0");
22 if (ver < 0)
23 {
24 if (TARGET_AREA_OPTIMIZED_2)
25diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
26index 93de8d831fd..71ac46dfb6c 100644
27--- a/gcc/config/microblaze/microblaze.md
28+++ b/gcc/config/microblaze/microblaze.md
29@@ -3598,7 +3598,7 @@ else
30 (zero_extract:SI (match_operand:SI 1 "register_operand" "r")
31 (match_operand:SI 2 "immediate_operand" "I")
32 (match_operand:SI 3 "immediate_operand" "I")))]
33- "TARGET_BARREL_SHIFT && (UINTVAL (operands[2]) > 0)
34+ "TARGET_HAS_BITFIELD && (UINTVAL (operands[2]) > 0)
35 && ((UINTVAL (operands[2]) + UINTVAL (operands[3])) <= 32)"
36 "bsefi %0,%1,%2,%3"
37 [(set_attr "type" "bshift")
38@@ -3630,7 +3630,7 @@ else
39 (match_operand:SI 1 "immediate_operand" "I")
40 (match_operand:SI 2 "immediate_operand" "I"))
41 (match_operand:SI 3 "register_operand" "r"))]
42- "TARGET_BARREL_SHIFT && UINTVAL (operands[1]) > 0
43+ "TARGET_HAS_BITFIELD && UINTVAL (operands[1]) > 0
44 && UINTVAL (operands[1]) + UINTVAL (operands[2]) <= 32"
45 "bsifi %0, %3, %1, %2"
46 [(set_attr "type" "bshift")
47--
482.17.1
49
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-source_11.%.bbappend b/meta-microblaze/recipes-devtools/gcc/gcc-source_11.%.bbappend
index e7d453a4..ab3a1c47 100644
--- a/meta-microblaze/recipes-devtools/gcc/gcc-source_11.%.bbappend
+++ b/meta-microblaze/recipes-devtools/gcc/gcc-source_11.%.bbappend
@@ -25,38 +25,35 @@ SRC_URI:append:microblaze = " \
25 file://0021-Patch-microblaze-Correct-the-const-high-double-immed.patch \ 25 file://0021-Patch-microblaze-Correct-the-const-high-double-immed.patch \
26 file://0022-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch \ 26 file://0022-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch \
27 file://0023-patch-microblaze-Fix-the-calculation-of-high-word-in.patch \ 27 file://0023-patch-microblaze-Fix-the-calculation-of-high-word-in.patch \
28 file://0024-Patch-microblaze-Add-new-bit-field-instructions.patch \ 28 file://0024-Patch-MicroBlaze-this-patch-has.patch \
29 file://0025-Patch-microblaze-Fix-bug-in-MB-version-calculation.patch \ 29 file://0025-Fixing-the-issue-with-the-builtin_alloc.patch \
30 file://0026-Fixing-the-issue-with-the-builtin_alloc.patch \ 30 file://0026-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch \
31 file://0027-Patch-Microblaze-update-in-constraints-for-bitfield-.patch \ 31 file://0027-Patch-MicroBlaze-Intial-commit-of-64-bit-Microblaze.patch \
32 file://0028-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch \ 32 file://0028-Intial-commit-for-64bit-MB-sources.patch \
33 file://0029-Patch-MicroBlaze-Intial-commit-of-64-bit-Microblaze.patch \ 33 file://0029-re-arrangement-of-the-compare-branches.patch \
34 file://0030-Intial-commit-for-64bit-MB-sources.patch \ 34 file://0030-Patch-Microblaze-previous-commit-broke-the-handling-.patch \
35 file://0031-re-arrangement-of-the-compare-branches.patch \ 35 file://0031-Patch-Microblaze-Support-of-multilibs-with-m64.patch \
36 file://0032-Patch-Microblaze-previous-commit-broke-the-handling-.patch \ 36 file://0032-Fixed-issues-like.patch \
37 file://0033-Patch-Microblaze-Support-of-multilibs-with-m64.patch \ 37 file://0033-Fixed-below-issues.patch \
38 file://0034-Fixed-issues-like.patch \ 38 file://0034-Added-double-arith-instructions.patch \
39 file://0035-Fixed-below-issues.patch \ 39 file://0035-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch \
40 file://0036-Added-double-arith-instructions.patch \ 40 file://0036-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch \
41 file://0037-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch \ 41 file://0037-extending-the-Dwarf-support-to-64bit-Microblaze.patch \
42 file://0038-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch \ 42 file://0038-fixing-the-typo-errors-in-umodsi3-file.patch \
43 file://0039-extending-the-Dwarf-support-to-64bit-Microblaze.patch \ 43 file://0039-fixing-the-32bit-LTO-related-issue9-1014024.patch \
44 file://0040-fixing-the-typo-errors-in-umodsi3-file.patch \ 44 file://0040-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch \
45 file://0041-fixing-the-32bit-LTO-related-issue9-1014024.patch \ 45 file://0041-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch \
46 file://0042-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch \ 46 file://0042-fixing-the-long-long-long-mingw-toolchain-issue.patch \
47 file://0043-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch \ 47 file://0043-Fix-the-MB-64-bug-of-handling-QI-objects.patch \
48 file://0044-fixing-the-long-long-long-mingw-toolchain-issue.patch \ 48 file://0044-Patch-Microblaze-We-will-check-the-possibility-of-pe.patch \
49 file://0045-Fix-the-MB-64-bug-of-handling-QI-objects.patch \ 49 file://0045-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch \
50 file://0046-Patch-Microblaze-We-will-check-the-possibility-of-pe.patch \ 50 file://0046-Author-Nagaraju-nmekala-xilinx.com.patch \
51 file://0047-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch \ 51 file://0047-Added-new-MB-64-single-register-arithmetic-instructi.patch \
52 file://0048-Author-Nagaraju-nmekala-xilinx.com.patch \ 52 file://0048-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch \
53 file://0049-Added-new-MB-64-single-register-arithmetic-instructi.patch \ 53 file://0049-Patch-microblaze-Fix-Compiler-crash-with-freg-struct.patch \
54 file://0050-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch \ 54 file://0050-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch \
55 file://0051-Patch-microblaze-Fix-Compiler-crash-with-freg-struct.patch \ 55 file://0051-Patch-microblaze-Reducing-Stack-space-for-arguments.patch \
56 file://0052-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch \ 56 file://0052-Patch-MicroBlaze.patch \
57 file://0053-Patch-microblaze-Reducing-Stack-space-for-arguments.patch \ 57 file://0053-patch-microblaze64-Add-Zero_extended-instructions.patch \
58 file://0054-Patch-MicroBlaze-Typo-in-the-previous-commits.bsefi-.patch \
59 file://0055-Patch-MicroBlaze.patch \
60 file://0056-patch-microblaze64-Add-Zero_extended-instructions.patch \
61 file://microblaze-mulitlib-hack.patch \ 58 file://microblaze-mulitlib-hack.patch \
62" 59"