diff options
author | Mark Hatle <mark.hatle@xilinx.com> | 2020-12-03 16:37:39 -0800 |
---|---|---|
committer | Mark Hatle <mark.hatle@xilinx.com> | 2020-12-04 16:24:49 -0800 |
commit | b0973557c0938c72bc0045ecacd5aad716c69874 (patch) | |
tree | 5a0b4cc90da989fcb85e068d2df022812c80fabd | |
parent | c9bf136ef42d5672a645c3caed23e1f99ac75a20 (diff) | |
download | meta-xilinx-b0973557c0938c72bc0045ecacd5aad716c69874.tar.gz |
gcc: update to early gatesgarth version
Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch | 20 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch | 11 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0003-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch | 35 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0003-LOCAL-Testsuite-explicitly-add-fivopts-for-tests-tha.patch | 117 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0004-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch | 30 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0004-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0005-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch) | 10 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0005-Patch-testsuite-Update-MicroBlaze-strings-test.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0006-Patch-testsuite-Update-MicroBlaze-strings-test.patch) | 7 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0006-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0007-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch) | 10 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0007-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0008-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch) | 13 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0008-Patch-microblaze-Fix-atomic-side-effects.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0009-Patch-microblaze-Fix-atomic-side-effects.patch) | 13 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0009-Patch-microblaze-Fix-atomic-boolean-return-value.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0010-Patch-microblaze-Fix-atomic-boolean-return-value.patch) | 10 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0010-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0011-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch) | 17 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0011-Patch-microblaze-Added-ashrsi3_with_size_opt.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0012-Patch-microblaze-Added-ashrsi3_with_size_opt.patch) | 11 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0012-Patch-microblaze-Use-bralid-for-profiler-calls.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0013-Patch-microblaze-Use-bralid-for-profiler-calls.patch) | 6 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0013-Patch-microblaze-Removed-moddi3-routinue.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0015-Patch-microblaze-Removed-moddi3-routinue.patch) | 10 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0014-Patch-microblaze-Add-INIT_PRIORITY-support.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0016-Patch-microblaze-Add-INIT_PRIORITY-support.patch) | 7 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0014-Patch-microblaze-Disable-fivopts-by-default.patch | 43 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0015-Patch-microblaze-Add-optimized-lshrsi3.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0017-Patch-microblaze-Add-optimized-lshrsi3.patch) | 10 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0016-Patch-microblaze-Add-cbranchsi4_reg.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0019-Patch-microblaze-Add-cbranchsi4_reg.patch) | 13 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0017-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0020-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch) | 31 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0018-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0022-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch) | 21 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0019-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0023-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch) | 30 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0020-Patch-microblaze-8-stage-pipeline-for-microblaze.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0024-Patch-microblaze-8-stage-pipeline-for-microblaze.patch) | 53 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0021-Patch-OPT-Update-heuristics-for-loop-invariant-for-a.patch | 47 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0021-Patch-microblaze-Correct-the-const-high-double-immed.patch | 58 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0022-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0027-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch) | 17 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0023-patch-microblaze-Fix-the-calculation-of-high-word-in.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0028-patch-microblaze-Fix-the-calculation-of-high-word-in.patch) | 10 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0024-Patch-microblaze-Add-new-bit-field-instructions.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0029-Patch-microblaze-Add-new-bit-field-instructions.patch) | 55 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0025-Patch-microblaze-Fix-bug-in-MB-version-calculation.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0030-Patch-microblaze-Fix-bug-in-MB-version-calculation.patch) | 26 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0025-Patch-rtl-Optimization-Better-register-pressure-esti.patch | 142 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0026-Fixing-the-issue-with-the-builtin_alloc.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0031-Fixing-the-issue-with-the-builtin_alloc.patch) | 11 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0026-Patch-microblaze-Correct-the-const-high-double-immed.patch | 69 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0027-Patch-Microblaze-update-in-constraints-for-bitfield-.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0032-Patch-Microblaze-update-in-constraints-for-bitfield-.patch) | 22 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0028-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0033-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch) | 6 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0029-Patch-MicroBlaze-Intial-commit-of-64-bit-Microblaze.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0034-Intial-commit-of-64-bit-Microblaze.patch) | 67 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0030-Intial-commit-for-64bit-MB-sources.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0035-Intial-commit-for-64bit-MB-sources.patch) | 170 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0031-re-arrangement-of-the-compare-branches.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0036-re-arrangement-of-the-compare-branches.patch) | 30 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0032-Patch-Microblaze-previous-commit-broke-the-handling-.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0037-Patch-Microblaze-previous-commit-broke-the-handling-.patch) | 8 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0033-Patch-Microblaze-Support-of-multilibs-with-m64.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0038-Patch-Microblaze-Support-of-multilibs-with-m64.patch) | 4 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0034-Fixed-issues-like.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0039-Fix-various-issues.patch) | 18 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0035-Fixed-below-issues.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0040-Fixed-below-issues.patch) | 35 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0036-Added-double-arith-instructions.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0041-Fix-various.patch) | 9 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0037-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0042-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch) | 6 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0038-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0043-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch) | 4 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0039-extending-the-Dwarf-support-to-64bit-Microblaze.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0044-extending-the-Dwarf-support-to-64bit-Microblaze.patch) | 6 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0040-fixing-the-typo-errors-in-umodsi3-file.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0045-fixing-the-typo-errors-in-umodsi3-file.patch) | 4 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0041-fixing-the-32bit-LTO-related-issue9-1014024.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0046-fixing-the-32bit-LTO-related-issue9-1014024.patch) | 6 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0042-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0047-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch) | 4 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0043-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0048-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch) | 6 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0044-fixing-the-long-long-long-mingw-toolchain-issue.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0049-fixing-the-long-long-long-mingw-toolchain-issue.patch) | 10 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0045-Fix-the-MB-64-bug-of-handling-QI-objects.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0050-Fix-the-MB-64-bug-of-handling-QI-objects.patch) | 10 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0046-Patch-Microblaze-We-will-check-the-possibility-of-pe.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0051-Patch-Microblaze-Check-the-possibiity-of-peephole2-o.patch) | 10 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0047-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0052-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch) | 4 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0048-Author-Nagaraju-nmekala-xilinx.com.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0053-Patch-microblaze-MB-64-removal-of-barrel-shift-instr.patch) | 49 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0049-Added-new-MB-64-single-register-arithmetic-instructi.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0055-Added-new-MB-64-single-register-arithmetic-instructi.patch) | 6 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0050-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0056-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch) | 10 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0051-Patch-microblaze-Fix-Compiler-crash-with-freg-struct.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0057-Patch-microblaze-Fix-Compiler-crash-with-freg-struct.patch) | 10 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0052-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0054-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch) | 34 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0053-Patch-microblaze-Reducing-Stack-space-for-arguments.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0018-Patch-microblaze-Reducing-Stack-space-for-arguments.patch) | 43 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0058-microblaze-Avoid-UINTPTR_TYPE-macro-redefinition.patch | 29 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/microblaze-mulitlib-hack.patch (renamed from meta-microblaze/recipes-devtools/gcc/gcc-10/0059-microblaze-multilib-hack.patch) | 0 | ||||
-rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-source_10.%.bbappend | 109 |
62 files changed, 641 insertions, 1051 deletions
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch index af5a65cb..e0f7b12e 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch | |||
@@ -1,26 +1,32 @@ | |||
1 | From d2ebb14b318166dd91fe35bf3531d758dcbc995a Mon Sep 17 00:00:00 2001 | 1 | From e3f148dff6d6d926d1f39802f54abd59bd9e887c Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Wed, 11 Jan 2017 13:13:57 +0530 | 3 | Date: Wed, 11 Jan 2017 13:13:57 +0530 |
4 | Subject: [PATCH 01/58] [LOCAL]: Testsuite - builtins tests require fpic | 4 | Subject: [PATCH 01/54] LOCAL]: Testsuite - builtins tests require fpic |
5 | Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com> | ||
5 | 6 | ||
6 | Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com> | 7 | Conflicts: |
8 | |||
9 | gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp | ||
7 | --- | 10 | --- |
8 | gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp | 5 +++++ | 11 | gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp | 8 ++++++++ |
9 | 1 file changed, 5 insertions(+) | 12 | 1 file changed, 8 insertions(+) |
10 | 13 | ||
11 | diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp b/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp | 14 | diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp b/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp |
12 | index 594c9297958..4103d43748d 100644 | 15 | index 594c9297958..8350d9401d2 100644 |
13 | --- a/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp | 16 | --- a/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp |
14 | +++ b/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp | 17 | +++ b/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp |
15 | @@ -48,6 +48,11 @@ if { [istarget *-*-eabi*] | 18 | @@ -48,6 +48,14 @@ if { [istarget *-*-eabi*] |
16 | lappend additional_flags "-Wl,--allow-multiple-definition" | 19 | lappend additional_flags "-Wl,--allow-multiple-definition" |
17 | } | 20 | } |
18 | 21 | ||
22 | +<<<<<<< HEAD | ||
23 | +======= | ||
19 | +if [istarget "microblaze*-*-linux*"] { | 24 | +if [istarget "microblaze*-*-linux*"] { |
20 | + lappend additional_flags "-Wl,-zmuldefs" | 25 | + lappend additional_flags "-Wl,-zmuldefs" |
21 | + lappend additional_flags "-fPIC" | 26 | + lappend additional_flags "-fPIC" |
22 | +} | 27 | +} |
23 | + | 28 | + |
29 | +>>>>>>> 6ef6e5b... [LOCAL]: Testsuite - builtins tests require fpic | ||
24 | foreach src [lsort [find $srcdir/$subdir *.c]] { | 30 | foreach src [lsort [find $srcdir/$subdir *.c]] { |
25 | if {![string match *-lib.c $src] && [runtest_file_p $runtests $src]} { | 31 | if {![string match *-lib.c $src] && [runtest_file_p $runtests $src]} { |
26 | c-torture-execute [list $src \ | 32 | c-torture-execute [list $src \ |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch index 976896da..431dc7ef 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch | |||
@@ -1,11 +1,10 @@ | |||
1 | From 54394232ffbaa9474f8a78c6882f08a48842242e Mon Sep 17 00:00:00 2001 | 1 | From bef1a4116efded9972e693ded5152f1d8670862e Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Wed, 11 Jan 2017 14:31:10 +0530 | 3 | Date: Wed, 11 Jan 2017 14:31:10 +0530 |
4 | Subject: [PATCH 02/58] [LOCAL]: Quick fail g++.dg/opt/memcpy1.C | 4 | Subject: [PATCH 02/54] [LOCAL]: Quick fail g++.dg/opt/memcpy1.C This |
5 | 5 | particular testcase fails with a timeout. Instead, fail it at compile-time | |
6 | This particular testcase fails with a timeout. Instead, fail it | 6 | for microblaze. This speeds up the testsuite without removing it from the |
7 | at compile-time for microblaze. This speeds up the testsuite without | 7 | FAIL reports. |
8 | removing it from the FAIL reports. | ||
9 | 8 | ||
10 | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> | 9 | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> |
11 | --- | 10 | --- |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0003-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0003-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch new file mode 100644 index 00000000..a2dc7ccc --- /dev/null +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0003-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch | |||
@@ -0,0 +1,35 @@ | |||
1 | From a063597f875142af49003e2f28b6c0f56e3b914d Mon Sep 17 00:00:00 2001 | ||
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | ||
3 | Date: Wed, 11 Jan 2017 15:46:28 +0530 | ||
4 | Subject: [PATCH 03/54] [LOCAL]: For dejagnu static testing on qemu, suppress | ||
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 | ||
7 | understands sysroot resolves all test failures with builtins | ||
8 | |||
9 | Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com> | ||
10 | --- | ||
11 | gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp | 4 ---- | ||
12 | 1 file changed, 4 deletions(-) | ||
13 | |||
14 | diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp b/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp | ||
15 | index 8350d9401d2..d7c9b281d01 100644 | ||
16 | --- a/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*] | ||
19 | lappend additional_flags "-Wl,--allow-multiple-definition" | ||
20 | } | ||
21 | |||
22 | -<<<<<<< HEAD | ||
23 | -======= | ||
24 | if [istarget "microblaze*-*-linux*"] { | ||
25 | lappend additional_flags "-Wl,-zmuldefs" | ||
26 | - lappend additional_flags "-fPIC" | ||
27 | } | ||
28 | |||
29 | ->>>>>>> 6ef6e5b... [LOCAL]: Testsuite - builtins tests require fpic | ||
30 | foreach src [lsort [find $srcdir/$subdir *.c]] { | ||
31 | if {![string match *-lib.c $src] && [runtest_file_p $runtests $src]} { | ||
32 | c-torture-execute [list $src \ | ||
33 | -- | ||
34 | 2.17.1 | ||
35 | |||
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0003-LOCAL-Testsuite-explicitly-add-fivopts-for-tests-tha.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0003-LOCAL-Testsuite-explicitly-add-fivopts-for-tests-tha.patch deleted file mode 100644 index 8e6d22db..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0003-LOCAL-Testsuite-explicitly-add-fivopts-for-tests-tha.patch +++ /dev/null | |||
@@ -1,117 +0,0 @@ | |||
1 | From f0a446bcb453630d8116b30f542aee79407228ea Mon Sep 17 00:00:00 2001 | ||
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | ||
3 | Date: Wed, 11 Jan 2017 15:28:38 +0530 | ||
4 | Subject: [PATCH 03/58] [LOCAL]: Testsuite - explicitly add -fivopts for tests | ||
5 | that depend on it | ||
6 | |||
7 | (test gcc/testsuite/gcc.dg/tree-ssa/ivopts-lt.c doesnt exist in 4.6 branch) | ||
8 | |||
9 | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> | ||
10 | --- | ||
11 | gcc/testsuite/g++.dg/tree-ssa/ivopts-2.C | 2 +- | ||
12 | gcc/testsuite/g++.dg/tree-ssa/ivopts-3.C | 2 +- | ||
13 | gcc/testsuite/gcc.dg/tree-ssa/loop-2.c | 2 +- | ||
14 | gcc/testsuite/gcc.dg/tree-ssa/loop-4.c | 2 +- | ||
15 | gcc/testsuite/gcc.dg/tree-ssa/loop-5.c | 2 +- | ||
16 | gcc/testsuite/gcc.dg/tree-ssa/pr19210-1.c | 2 +- | ||
17 | gcc/testsuite/gcc.dg/tree-ssa/pr19590.c | 2 +- | ||
18 | gcc/testsuite/gcc.dg/tree-ssa/reassoc-19.c | 2 +- | ||
19 | 8 files changed, 8 insertions(+), 8 deletions(-) | ||
20 | |||
21 | diff --git a/gcc/testsuite/g++.dg/tree-ssa/ivopts-2.C b/gcc/testsuite/g++.dg/tree-ssa/ivopts-2.C | ||
22 | index 438db882043..ede883eb284 100644 | ||
23 | --- a/gcc/testsuite/g++.dg/tree-ssa/ivopts-2.C | ||
24 | +++ b/gcc/testsuite/g++.dg/tree-ssa/ivopts-2.C | ||
25 | @@ -1,5 +1,5 @@ | ||
26 | /* { dg-do compile { target { i?86-*-* x86_64-*-* } } } */ | ||
27 | -/* { dg-options "-O2 -fdump-tree-ivopts-details" } */ | ||
28 | +/* { dg-options "-O2 -fivopts -fdump-tree-ivopts-details" } */ | ||
29 | |||
30 | void test (int *b, int *e, int stride) | ||
31 | { | ||
32 | diff --git a/gcc/testsuite/g++.dg/tree-ssa/ivopts-3.C b/gcc/testsuite/g++.dg/tree-ssa/ivopts-3.C | ||
33 | index cbb6c850baa..34248021c23 100644 | ||
34 | --- a/gcc/testsuite/g++.dg/tree-ssa/ivopts-3.C | ||
35 | +++ b/gcc/testsuite/g++.dg/tree-ssa/ivopts-3.C | ||
36 | @@ -1,5 +1,5 @@ | ||
37 | // { dg-do compile } | ||
38 | -// { dg-options "-O2 -fdump-tree-ivopts-details" } | ||
39 | +// { dg-options "-O2 -fivopts -fdump-tree-ivopts-details" } | ||
40 | |||
41 | class MinimalVec3 | ||
42 | { | ||
43 | diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-2.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-2.c | ||
44 | index bda25167353..22c8a5dcffe 100644 | ||
45 | --- a/gcc/testsuite/gcc.dg/tree-ssa/loop-2.c | ||
46 | +++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-2.c | ||
47 | @@ -1,7 +1,7 @@ | ||
48 | /* A test for strength reduction and induction variable elimination. */ | ||
49 | |||
50 | /* { dg-do compile } */ | ||
51 | -/* { dg-options "-O1 -fdump-tree-optimized" } */ | ||
52 | +/* { dg-options "-O1 -fivopts -fdump-tree-optimized" } */ | ||
53 | /* { dg-require-effective-target size32plus } */ | ||
54 | |||
55 | /* Size of this structure should be sufficiently weird so that no memory | ||
56 | diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-4.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-4.c | ||
57 | index f0770abdbbc..65d74c8e620 100644 | ||
58 | --- a/gcc/testsuite/gcc.dg/tree-ssa/loop-4.c | ||
59 | +++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-4.c | ||
60 | @@ -1,7 +1,7 @@ | ||
61 | /* A test for strength reduction and induction variable elimination. */ | ||
62 | |||
63 | /* { dg-do compile } */ | ||
64 | -/* { dg-options "-O1 -fdump-tree-optimized" } */ | ||
65 | +/* { dg-options "-O1 -fivopts -fdump-tree-optimized" } */ | ||
66 | /* { dg-require-effective-target size32plus } */ | ||
67 | |||
68 | /* Size of this structure should be sufficiently weird so that no memory | ||
69 | diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-5.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-5.c | ||
70 | index 5f42857fe13..9bc86ee0d23 100644 | ||
71 | --- a/gcc/testsuite/gcc.dg/tree-ssa/loop-5.c | ||
72 | +++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-5.c | ||
73 | @@ -1,7 +1,7 @@ | ||
74 | /* A test for induction variable merging. */ | ||
75 | |||
76 | /* { dg-do compile } */ | ||
77 | -/* { dg-options "-O1 -fdump-tree-optimized" } */ | ||
78 | +/* { dg-options "-O1 -fivopts -fdump-tree-optimized" } */ | ||
79 | |||
80 | void foo(long); | ||
81 | |||
82 | diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr19210-1.c b/gcc/testsuite/gcc.dg/tree-ssa/pr19210-1.c | ||
83 | index 50d86a00485..1e3eacd33d1 100644 | ||
84 | --- a/gcc/testsuite/gcc.dg/tree-ssa/pr19210-1.c | ||
85 | +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr19210-1.c | ||
86 | @@ -1,5 +1,5 @@ | ||
87 | /* { dg-do compile } */ | ||
88 | -/* { dg-options "-O2 -fopt-info-loop-missed" } */ | ||
89 | +/* { dg-options "-O2 -fivopts -fopt-info-loop-missed" } */ | ||
90 | extern void g(void); | ||
91 | |||
92 | void | ||
93 | diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr19590.c b/gcc/testsuite/gcc.dg/tree-ssa/pr19590.c | ||
94 | index 2c6cfc6f831..648e6e67e80 100644 | ||
95 | --- a/gcc/testsuite/gcc.dg/tree-ssa/pr19590.c | ||
96 | +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr19590.c | ||
97 | @@ -1,5 +1,5 @@ | ||
98 | /* { dg-do compile } */ | ||
99 | -/* { dg-options "-O2 -fdump-tree-ivopts" } */ | ||
100 | +/* { dg-options "-O2 -fivopts -fdump-tree-ivopts" } */ | ||
101 | |||
102 | void vnum_test8(int *data) | ||
103 | { | ||
104 | diff --git a/gcc/testsuite/gcc.dg/tree-ssa/reassoc-19.c b/gcc/testsuite/gcc.dg/tree-ssa/reassoc-19.c | ||
105 | index e911bfcd521..5d3e7e0801a 100644 | ||
106 | --- a/gcc/testsuite/gcc.dg/tree-ssa/reassoc-19.c | ||
107 | +++ b/gcc/testsuite/gcc.dg/tree-ssa/reassoc-19.c | ||
108 | @@ -1,5 +1,5 @@ | ||
109 | /* { dg-do compile } */ | ||
110 | -/* { dg-options "-Os -fdump-tree-optimized" } */ | ||
111 | +/* { dg-options "-Os -fivopts -fdump-tree-optimized" } */ | ||
112 | |||
113 | /* Slightly changed testcase from PR middle-end/40815. */ | ||
114 | void bar(char*, char*, int); | ||
115 | -- | ||
116 | 2.17.1 | ||
117 | |||
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0004-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0004-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch deleted file mode 100644 index 4974462c..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0004-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | From f8809fdebc3ef3927695c84224d3446fa13447d6 Mon Sep 17 00:00:00 2001 | ||
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | ||
3 | Date: Wed, 11 Jan 2017 15:46:28 +0530 | ||
4 | Subject: [PATCH 04/58] [LOCAL]: For dejagnu static testing on qemu, suppress | ||
5 | warnings | ||
6 | |||
7 | about multiple definitions from the test function and libc in line | ||
8 | with method used by powerpc. Dynamic linking and using a qemu binary | ||
9 | which understands sysroot resolves all test failures with builtins | ||
10 | |||
11 | Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com> | ||
12 | --- | ||
13 | gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp | 1 - | ||
14 | 1 file changed, 1 deletion(-) | ||
15 | |||
16 | diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp b/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp | ||
17 | index 4103d43748d..d7c9b281d01 100644 | ||
18 | --- a/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp | ||
19 | +++ b/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp | ||
20 | @@ -50,7 +50,6 @@ if { [istarget *-*-eabi*] | ||
21 | |||
22 | if [istarget "microblaze*-*-linux*"] { | ||
23 | lappend additional_flags "-Wl,-zmuldefs" | ||
24 | - lappend additional_flags "-fPIC" | ||
25 | } | ||
26 | |||
27 | foreach src [lsort [find $srcdir/$subdir *.c]] { | ||
28 | -- | ||
29 | 2.17.1 | ||
30 | |||
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0005-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0004-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch index c21492e8..661417d7 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0005-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0004-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch | |||
@@ -1,8 +1,8 @@ | |||
1 | From 802078fa3e76ea7fdb29f3baf1d4d9baae42bc0b Mon Sep 17 00:00:00 2001 | 1 | From c1028bcb40ccd8d61afc1ab798198948fbf74aa0 Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Wed, 11 Jan 2017 15:50:35 +0530 | 3 | Date: Wed, 11 Jan 2017 15:50:35 +0530 |
4 | Subject: [PATCH 05/58] [Patch, testsuite]: Add MicroBlaze to target-supports | 4 | Subject: [PATCH 04/54] [Patch, testsuite]: Add MicroBlaze to target-supports |
5 | for atomic builtin tests | 5 | for atomic buil. .tin tests |
6 | 6 | ||
7 | MicroBlaze added to supported targets for atomic builtin tests. | 7 | MicroBlaze added to supported targets for atomic builtin tests. |
8 | 8 | ||
@@ -19,10 +19,10 @@ Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com> | |||
19 | 1 file changed, 1 insertion(+) | 19 | 1 file changed, 1 insertion(+) |
20 | 20 | ||
21 | diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp | 21 | diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp |
22 | index 13761491e63..d2f65dac32c 100644 | 22 | index 0dfe3ae0651..86caf6db9a9 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 | @@ -7581,6 +7581,7 @@ proc check_effective_target_sync_int_long { } { | 25 | @@ -7468,6 +7468,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*] |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0006-Patch-testsuite-Update-MicroBlaze-strings-test.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0005-Patch-testsuite-Update-MicroBlaze-strings-test.patch index 9c8cce92..d34988c5 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0006-Patch-testsuite-Update-MicroBlaze-strings-test.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0005-Patch-testsuite-Update-MicroBlaze-strings-test.patch | |||
@@ -1,9 +1,8 @@ | |||
1 | From 8c24cb4f95f46793ac7500a5d6181d93f2b0d2c5 Mon Sep 17 00:00:00 2001 | 1 | From ae5ce07a67df89dabba61414ba7dabbdabc1ee1b Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Wed, 11 Jan 2017 16:20:01 +0530 | 3 | Date: Wed, 11 Jan 2017 16:20:01 +0530 |
4 | Subject: [PATCH 06/58] [Patch, testsuite]: Update MicroBlaze strings test | 4 | Subject: [PATCH 05/54] [Patch, testsuite]: Update MicroBlaze strings test for |
5 | 5 | new scan-assembly output resulting in use of $LC label | |
6 | for new scan-assembly output resulting in use of $LC label | ||
7 | 6 | ||
8 | ChangeLog/testsuite | 7 | ChangeLog/testsuite |
9 | 8 | ||
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0007-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0006-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch index 4d1e2017..4b45fcf1 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0007-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0006-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch | |||
@@ -1,11 +1,9 @@ | |||
1 | From 38ece4b2dc5d34c1b88b6ea8dd8e62a0986f8f6c Mon Sep 17 00:00:00 2001 | 1 | From 49cf9cd3fedce80a63e9d03d42482dd4596c27a7 Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Thu, 12 Jan 2017 16:14:15 +0530 | 3 | Date: Thu, 12 Jan 2017 16:14:15 +0530 |
4 | Subject: [PATCH 07/58] [Patch, testsuite]: Allow MicroBlaze .weakext pattern | 4 | Subject: [PATCH 06/54] [Patch, testsuite]: Allow MicroBlaze .weakext pattern |
5 | in regex match | 5 | in regex match Extend regex pattern to include optional ext at the end of |
6 | 6 | .weak to match the MicroBlaze weak label .weakext | |
7 | Extend regex pattern to include optional ext at the end of | ||
8 | .weak to match the MicroBlaze weak label .weakext | ||
9 | 7 | ||
10 | ChangeLog/testsuite | 8 | ChangeLog/testsuite |
11 | 9 | ||
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0008-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0007-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch index f96d7d57..8fa324ad 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0008-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0007-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch | |||
@@ -1,11 +1,10 @@ | |||
1 | From bc5f423bcfa24aa8c15548379bfc6b3f49e57c15 Mon Sep 17 00:00:00 2001 | 1 | From dc6cbb4e18a3f31441403146b8f159554c329897 Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Thu, 12 Jan 2017 16:34:27 +0530 | 3 | Date: Thu, 12 Jan 2017 16:34:27 +0530 |
4 | Subject: [PATCH 08/58] [Patch, testsuite]: Add MicroBlaze to | 4 | Subject: [PATCH 07/54] [Patch, testsuite]: Add MicroBlaze to |
5 | check_profiling_available | 5 | check_profiling_available Testsuite, add microblaze*-*-* target in |
6 | 6 | check_profiling_available inline with other archs setting | |
7 | Testsuite, add microblaze*-*-* target in check_profiling_available | 7 | profiling_available_saved to 0 |
8 | inline with other archs setting profiling_available_saved to 0 | ||
9 | 8 | ||
10 | Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com> | 9 | Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com> |
11 | --- | 10 | --- |
@@ -13,7 +12,7 @@ Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com> | |||
13 | 1 file changed, 1 insertion(+) | 12 | 1 file changed, 1 insertion(+) |
14 | 13 | ||
15 | diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp | 14 | diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp |
16 | index d2f65dac32c..d949fbd8464 100644 | 15 | index 86caf6db9a9..cbd9024ece9 100644 |
17 | --- a/gcc/testsuite/lib/target-supports.exp | 16 | --- a/gcc/testsuite/lib/target-supports.exp |
18 | +++ b/gcc/testsuite/lib/target-supports.exp | 17 | +++ b/gcc/testsuite/lib/target-supports.exp |
19 | @@ -707,6 +707,7 @@ proc check_profiling_available { test_what } { | 18 | @@ -707,6 +707,7 @@ proc check_profiling_available { test_what } { |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0009-Patch-microblaze-Fix-atomic-side-effects.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0008-Patch-microblaze-Fix-atomic-side-effects.patch index 45d93cee..1fa55729 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0009-Patch-microblaze-Fix-atomic-side-effects.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0008-Patch-microblaze-Fix-atomic-side-effects.patch | |||
@@ -1,12 +1,11 @@ | |||
1 | From eeeb8ecda7cb71c033c850ce36162c92c7d0b781 Mon Sep 17 00:00:00 2001 | 1 | From 602713d07d2e1b3a33a7f097baff270266aa4254 Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Thu, 12 Jan 2017 16:41:43 +0530 | 3 | Date: Thu, 12 Jan 2017 16:41:43 +0530 |
4 | Subject: [PATCH 09/58] [Patch, microblaze]: Fix atomic side effects. | 4 | Subject: [PATCH 08/54] [Patch, microblaze]: Fix atomic side effects. In |
5 | 5 | atomic_compare_and_swapsi, add side effects to prevent incorrect assumptions | |
6 | In atomic_compare_and_swapsi, add side effects to prevent incorrect | 6 | during optimization. Previously, the outputs were considered unused; this |
7 | assumptions during optimization. Previously, the outputs were | 7 | generated assembly code with undefined side effects after invocation of the |
8 | considered unused; this generated assembly code with | 8 | atomic. |
9 | undefined side effects after invocation of the atomic. | ||
10 | 9 | ||
11 | Signed-off-by: Kirk Meyer <kirk.meyer@sencore.com> | 10 | Signed-off-by: Kirk Meyer <kirk.meyer@sencore.com> |
12 | Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com> | 11 | Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com> |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0010-Patch-microblaze-Fix-atomic-boolean-return-value.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0009-Patch-microblaze-Fix-atomic-boolean-return-value.patch index 48f77215..666d344f 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0010-Patch-microblaze-Fix-atomic-boolean-return-value.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0009-Patch-microblaze-Fix-atomic-boolean-return-value.patch | |||
@@ -1,11 +1,9 @@ | |||
1 | From 834448fc3493be56cc6a4f6b504569142f7f6070 Mon Sep 17 00:00:00 2001 | 1 | From d3d065c9645d795e03dab6db827c08231e011a1f Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Thu, 12 Jan 2017 16:45:45 +0530 | 3 | Date: Thu, 12 Jan 2017 16:45:45 +0530 |
4 | Subject: [PATCH 10/58] [Patch, microblaze]: Fix atomic boolean return value. | 4 | Subject: [PATCH 09/54] [Patch, microblaze]: Fix atomic boolean return value. |
5 | 5 | In atomic_compare_and_swapsi, fix boolean return value. Previously, it | |
6 | In atomic_compare_and_swapsi, fix boolean return value. | 6 | contained zero if successful and non-zero if unsuccessful. |
7 | Previously, it contained zero if successful and non-zero | ||
8 | if unsuccessful. | ||
9 | 7 | ||
10 | Signed-off-by: Kirk Meyer <kirk.meyer@sencore.com> | 8 | Signed-off-by: Kirk Meyer <kirk.meyer@sencore.com> |
11 | Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com> | 9 | Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com> |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0011-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0010-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch index e60e6f2f..22bf521d 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0011-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0010-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch | |||
@@ -1,14 +1,13 @@ | |||
1 | From 19457459592123c41c3ce9e084e165525e4d7bb0 Mon Sep 17 00:00:00 2001 | 1 | From 8d9d1f457e1e270250d8a6700d4a1e1fa09465df Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Thu, 12 Jan 2017 16:50:17 +0530 | 3 | Date: Thu, 12 Jan 2017 16:50:17 +0530 |
4 | Subject: [PATCH 11/58] [Patch, microblaze]: Fix the Microblaze crash with | 4 | Subject: [PATCH 10/54] [Patch, microblaze]: Fix the Microblaze crash with |
5 | msmall-divides flag | 5 | msmall-divides flag Compiler is crashing when we use msmall-divides and |
6 | 6 | mxl-barrel-shift flag. This is because when use above flags | |
7 | Compiler is crashing when we use msmall-divides and mxl-barrel-shift flag. | 7 | microblaze_expand_divide function will be called for division operation. In |
8 | This is because when use above flags microblaze_expand_divide function will be | 8 | microblaze_expand_divide function we are using sub_reg but MicroBlaze doesn't |
9 | called for division operation. In microblaze_expand_divide function we are | 9 | have subreg register due to this compiler was crashing. Changed the logic to |
10 | using sub_reg but MicroBlaze doesn't have subreg register due to this compiler | 10 | avoid sub_reg call |
11 | was crashing. Changed the logic to avoid sub_reg call | ||
12 | 11 | ||
13 | Signed-off-by:Nagaraju Mekala <nmekala@xilix.com> | 12 | Signed-off-by:Nagaraju Mekala <nmekala@xilix.com> |
14 | --- | 13 | --- |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0012-Patch-microblaze-Added-ashrsi3_with_size_opt.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0011-Patch-microblaze-Added-ashrsi3_with_size_opt.patch index b9e39928..cce812bb 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0012-Patch-microblaze-Added-ashrsi3_with_size_opt.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0011-Patch-microblaze-Added-ashrsi3_with_size_opt.patch | |||
@@ -1,11 +1,10 @@ | |||
1 | From 9da28a01ffb778fc5cb5df27332cef21f890a63f Mon Sep 17 00:00:00 2001 | 1 | From 03429c91d1db134e1deda4c8e58bc0939d5fedf9 Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Thu, 12 Jan 2017 16:52:56 +0530 | 3 | Date: Thu, 12 Jan 2017 16:52:56 +0530 |
4 | Subject: [PATCH 12/58] [Patch, microblaze]: Added ashrsi3_with_size_opt | 4 | Subject: [PATCH 11/54] [Patch, microblaze]: Added ashrsi3_with_size_opt Added |
5 | 5 | ashrsi3_with_size_opt pattern to optimize the sra instructions when the -Os | |
6 | Added ashrsi3_with_size_opt pattern to optimize the sra instructions | 6 | optimization is used. lshrsi3_with_size_opt is being removed as it has |
7 | when the -Os optimization is used. lshrsi3_with_size_opt is | 7 | conflicts with unsigned int variables |
8 | being removed as it has conflicts with unsigned int variables | ||
9 | 8 | ||
10 | Signed-off-by:Nagaraju Mekala <nmekala@xilix.com> | 9 | Signed-off-by:Nagaraju Mekala <nmekala@xilix.com> |
11 | --- | 10 | --- |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0013-Patch-microblaze-Use-bralid-for-profiler-calls.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0012-Patch-microblaze-Use-bralid-for-profiler-calls.patch index 36af2652..e393f0fe 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0013-Patch-microblaze-Use-bralid-for-profiler-calls.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0012-Patch-microblaze-Use-bralid-for-profiler-calls.patch | |||
@@ -1,9 +1,9 @@ | |||
1 | From 07a5c8b22a1cef99b2d4570ea080c503260161e4 Mon Sep 17 00:00:00 2001 | 1 | From 6803fbc540db39865037994daa122cf10c0eb33a Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Tue, 17 Jan 2017 10:57:19 +0530 | 3 | Date: Tue, 17 Jan 2017 10:57:19 +0530 |
4 | Subject: [PATCH 13/58] [Patch, microblaze]: Use bralid for profiler calls | 4 | Subject: [PATCH 12/54] [Patch, microblaze]: Use bralid for profiler calls |
5 | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> | ||
5 | 6 | ||
6 | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> | ||
7 | --- | 7 | --- |
8 | gcc/config/microblaze/microblaze.h | 2 +- | 8 | gcc/config/microblaze/microblaze.h | 2 +- |
9 | 1 file changed, 1 insertion(+), 1 deletion(-) | 9 | 1 file changed, 1 insertion(+), 1 deletion(-) |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0015-Patch-microblaze-Removed-moddi3-routinue.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0013-Patch-microblaze-Removed-moddi3-routinue.patch index e7fb9393..b601c98a 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0015-Patch-microblaze-Removed-moddi3-routinue.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0013-Patch-microblaze-Removed-moddi3-routinue.patch | |||
@@ -1,14 +1,10 @@ | |||
1 | From c2a6652176751bc95e2f990179e90cfe58026feb Mon Sep 17 00:00:00 2001 | 1 | From 5de3888c460a341667150d569548b3309188e7e8 Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Thu, 12 Jan 2017 17:36:16 +0530 | 3 | Date: Thu, 12 Jan 2017 17:36:16 +0530 |
4 | Subject: [PATCH 15/58] [Patch, microblaze]: Removed moddi3 routinue | 4 | Subject: [PATCH 13/54] [Patch, microblaze]: Removed moddi3 routinue Using the |
5 | 5 | default moddi3 function as the existing implementation has many bugs | |
6 | Using the default moddi3 function as the existing implementation has many bugs | ||
7 | 6 | ||
8 | Signed-off-by:Nagaraju <nmekala@xilix.com> | 7 | Signed-off-by:Nagaraju <nmekala@xilix.com> |
9 | |||
10 | Conflicts: | ||
11 | libgcc/config/microblaze/moddi3.S | ||
12 | --- | 8 | --- |
13 | libgcc/config/microblaze/moddi3.S | 121 -------------------------- | 9 | libgcc/config/microblaze/moddi3.S | 121 -------------------------- |
14 | libgcc/config/microblaze/t-microblaze | 3 +- | 10 | libgcc/config/microblaze/t-microblaze | 3 +- |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0016-Patch-microblaze-Add-INIT_PRIORITY-support.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0014-Patch-microblaze-Add-INIT_PRIORITY-support.patch index 13c3ccd9..3bd6efd5 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0016-Patch-microblaze-Add-INIT_PRIORITY-support.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0014-Patch-microblaze-Add-INIT_PRIORITY-support.patch | |||
@@ -1,9 +1,8 @@ | |||
1 | From 9a4253a92a5e1811693ea1707b5fc272908ec556 Mon Sep 17 00:00:00 2001 | 1 | From b9a9e8f9d0994c76819ec605a0b7cd113f3b2cf0 Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Tue, 17 Jan 2017 14:41:58 +0530 | 3 | Date: Tue, 17 Jan 2017 14:41:58 +0530 |
4 | Subject: [PATCH 16/58] [Patch, microblaze]: Add INIT_PRIORITY support | 4 | Subject: [PATCH 14/54] [Patch, microblaze]: Add INIT_PRIORITY support Added |
5 | 5 | TARGET_ASM_CONSTRUCTOR and TARGET_ASM_DESTRUCTOR macros. | |
6 | Added TARGET_ASM_CONSTRUCTOR and TARGET_ASM_DESTRUCTOR macros. | ||
7 | 6 | ||
8 | These macros allows users to control the order of initialization | 7 | These macros allows users to control the order of initialization |
9 | of objects defined at namespace scope with the init_priority | 8 | of objects defined at namespace scope with the init_priority |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0014-Patch-microblaze-Disable-fivopts-by-default.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0014-Patch-microblaze-Disable-fivopts-by-default.patch deleted file mode 100644 index 51563ecb..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0014-Patch-microblaze-Disable-fivopts-by-default.patch +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | From 616f16089f0b01ab02008d7291df0972a99782e0 Mon Sep 17 00:00:00 2001 | ||
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | ||
3 | Date: Tue, 17 Jan 2017 11:10:21 +0530 | ||
4 | Subject: [PATCH 14/58] [Patch, microblaze]: Disable fivopts by default | ||
5 | |||
6 | Turn off ivopts by default. Interferes with cse. | ||
7 | |||
8 | Changelog | ||
9 | |||
10 | 2013-03-18 Edgar E. Iglesias <edgar.iglesias@xilinx.com> | ||
11 | |||
12 | * gcc/common/config/microblaze/microblaze-common.c | ||
13 | (microblaze_option_optimization_table): Disable fivopts by default. | ||
14 | |||
15 | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> | ||
16 | Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com> | ||
17 | --- | ||
18 | gcc/common/config/microblaze/microblaze-common.c | 9 +++++++++ | ||
19 | 1 file changed, 9 insertions(+) | ||
20 | |||
21 | diff --git a/gcc/common/config/microblaze/microblaze-common.c b/gcc/common/config/microblaze/microblaze-common.c | ||
22 | index 4391f939626..0b9d5a1b453 100644 | ||
23 | --- a/gcc/common/config/microblaze/microblaze-common.c | ||
24 | +++ b/gcc/common/config/microblaze/microblaze-common.c | ||
25 | @@ -24,6 +24,15 @@ | ||
26 | #include "common/common-target.h" | ||
27 | #include "common/common-target-def.h" | ||
28 | |||
29 | +/* Implement TARGET_OPTION_OPTIMIZATION_TABLE. */ | ||
30 | +static const struct default_options microblaze_option_optimization_table[] = | ||
31 | + { | ||
32 | + /* Turn off ivopts by default. It messes up cse. */ | ||
33 | + { OPT_LEVELS_ALL, OPT_fivopts, NULL, 0 }, | ||
34 | + { OPT_LEVELS_1_PLUS, OPT_fomit_frame_pointer, NULL, 1 }, | ||
35 | + { OPT_LEVELS_NONE, 0, NULL, 0 } | ||
36 | + }; | ||
37 | + | ||
38 | #undef TARGET_DEFAULT_TARGET_FLAGS | ||
39 | #define TARGET_DEFAULT_TARGET_FLAGS TARGET_DEFAULT | ||
40 | |||
41 | -- | ||
42 | 2.17.1 | ||
43 | |||
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0017-Patch-microblaze-Add-optimized-lshrsi3.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0015-Patch-microblaze-Add-optimized-lshrsi3.patch index cfc06f74..ba20cf07 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0017-Patch-microblaze-Add-optimized-lshrsi3.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0015-Patch-microblaze-Add-optimized-lshrsi3.patch | |||
@@ -1,11 +1,9 @@ | |||
1 | From 27c27a8876152bac78059a1b2d5a6f0ac9b8cee2 Mon Sep 17 00:00:00 2001 | 1 | From f448485f5e0507a7ab8be7f83c08f807200a3501 Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Tue, 17 Jan 2017 15:23:57 +0530 | 3 | Date: Tue, 17 Jan 2017 15:23:57 +0530 |
4 | Subject: [PATCH 17/58] [Patch, microblaze]: Add optimized lshrsi3 | 4 | Subject: [PATCH 15/54] [Patch, microblaze]: Add optimized lshrsi3 When barrel |
5 | 5 | shifter is not present, the immediate value is greater than #5 and | |
6 | When barrel shifter is not present, the immediate value | 6 | optimization is -OS, the compiler will generate shift operation using loop. |
7 | is greater than #5 and optimization is -OS, the | ||
8 | compiler will generate shift operation using loop. | ||
9 | 7 | ||
10 | Changelog | 8 | Changelog |
11 | 9 | ||
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0019-Patch-microblaze-Add-cbranchsi4_reg.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0016-Patch-microblaze-Add-cbranchsi4_reg.patch index b78a9814..0c865224 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0019-Patch-microblaze-Add-cbranchsi4_reg.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0016-Patch-microblaze-Add-cbranchsi4_reg.patch | |||
@@ -1,11 +1,10 @@ | |||
1 | From f43cb8572131074c7ce43a1d39c7ba6c85611e18 Mon Sep 17 00:00:00 2001 | 1 | From 386b8dcef2d774e9138515814be0fd579ade5af5 Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Tue, 17 Jan 2017 17:04:37 +0530 | 3 | Date: Tue, 17 Jan 2017 17:04:37 +0530 |
4 | Subject: [PATCH 19/58] [Patch, microblaze]: Add cbranchsi4_reg | 4 | Subject: [PATCH 16/54] [Patch, microblaze]: Add cbranchsi4_reg This patch |
5 | 5 | optimizes the generation of pcmpne/pcmpeq instruction if the compare | |
6 | This patch optimizes the generation of pcmpne/pcmpeq instruction if the | 6 | instruction has no immediate values.For the immediate values the xor |
7 | compare instruction has no immediate values.For the immediate values the | 7 | instruction is generated |
8 | xor instruction is generated | ||
9 | 8 | ||
10 | Signed-off-by: Nagaraju Mekala <nmekala@xilix.com> | 9 | Signed-off-by: Nagaraju Mekala <nmekala@xilix.com> |
11 | Signed-off-by: Ajit Agarwal <ajitkum@xilinx.com> | 10 | Signed-off-by: Ajit Agarwal <ajitkum@xilinx.com> |
@@ -31,7 +30,7 @@ Conflicts: | |||
31 | 7 files changed, 18 insertions(+), 18 deletions(-) | 30 | 7 files changed, 18 insertions(+), 18 deletions(-) |
32 | 31 | ||
33 | diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h | 32 | diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h |
34 | index 96f7bb67f6c..76ffc682df2 100644 | 33 | index 982b2abd2d4..c2f88813a8d 100644 |
35 | --- a/gcc/config/microblaze/microblaze-protos.h | 34 | --- a/gcc/config/microblaze/microblaze-protos.h |
36 | +++ b/gcc/config/microblaze/microblaze-protos.h | 35 | +++ b/gcc/config/microblaze/microblaze-protos.h |
37 | @@ -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-10/0020-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0017-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch index cc1c3d7e..504083f3 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0020-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0017-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch | |||
@@ -1,22 +1,19 @@ | |||
1 | From 1bbf48097cf2da98e03139b499a5a74bc68e6abc Mon Sep 17 00:00:00 2001 | 1 | From b6298861681965533c9b6dac5e26fbd62b52839d Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Tue, 17 Jan 2017 17:11:04 +0530 | 3 | Date: Tue, 17 Jan 2017 17:11:04 +0530 |
4 | Subject: [PATCH 20/58] [Patch,microblaze]: Inline Expansion of fsqrt builtin. | 4 | Subject: [PATCH 17/54] [Patch,microblaze]: Inline Expansion of fsqrt builtin. |
5 | 5 | The changes are made in the patch for the inline expansion of the fsqrt | |
6 | The changes are made in the patch for the inline expansion of | 6 | builtin with fqrt instruction. The sqrt math function takes double as |
7 | the fsqrt builtin with fqrt instruction. The sqrt math function | 7 | argument and return double as argument. The pattern is selected while |
8 | takes double as argument and return double as argument. The | 8 | expanding the unary op through expand_unop which passes DFmode and the DFmode |
9 | pattern is selected while expanding the unary op through | 9 | pattern was not there returning zero. Thus the sqrt math function is not |
10 | expand_unop which passes DFmode and the DFmode pattern was | 10 | inlined and expanded. The pattern with DFmode argument is added. Also the |
11 | not there returning zero. Thus the sqrt math function is not | 11 | source and destination argument is not same the DF through two different |
12 | inlined and expanded. The pattern with DFmode argument is added. | 12 | consecutive registers with lower 32 bit is the argument passed to sqrt and |
13 | Also the source and destination argument is not same the DF | 13 | the higher 32 bit is zero. If the source and destinations are different the |
14 | through two different consecutive registers with lower 32 bit | 14 | DFmode 64 bits registers is not set properly giving the problem in runtime. |
15 | is the argument passed to sqrt and the higher 32 bit is zero. | 15 | Such changes are taken care in the implementation of the pattern for DFmode |
16 | If the source and destinations are different the DFmode 64 bits | 16 | for inline expansion of the sqrt. |
17 | registers is not set properly giving the problem in runtime. Such | ||
18 | changes are taken care in the implementation of the pattern for | ||
19 | DFmode for inline expansion of the sqrt. | ||
20 | 17 | ||
21 | ChangeLog: | 18 | ChangeLog: |
22 | 2015-06-16 Ajit Agarwal <ajitkum@xilinx.com> | 19 | 2015-06-16 Ajit Agarwal <ajitkum@xilinx.com> |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0022-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0018-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch index 2e5afed8..14095d83 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0022-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0018-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch | |||
@@ -1,17 +1,14 @@ | |||
1 | From b066cb189302814fcd91b38f2f9da830a2c5b8fe Mon Sep 17 00:00:00 2001 | 1 | From a8c6c13cc322ecc300bb2cdf22e3d6f1680e56be Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Tue, 17 Jan 2017 18:07:24 +0530 | 3 | Date: Tue, 17 Jan 2017 18:07:24 +0530 |
4 | Subject: [PATCH 22/58] [PATCH] microblaze.md: Improve 'adddi3' and 'subdi3' | 4 | Subject: [PATCH 18/54] [PATCH] microblaze.md: Improve 'adddi3' and 'subdi3' |
5 | insn definitions | 5 | insn definitions Change adddi3 to handle DI immediates as the second operand, |
6 | 6 | this requires modification to the output template however reduces the need to | |
7 | Change adddi3 to handle DI immediates as the second operand, this | 7 | specify seperate templates for 16-bit positive/negative immediate operands. |
8 | requires modification to the output template however reduces the need to | 8 | The use of 32-bit immediates for the addi and addic instructions is handled |
9 | specify seperate templates for 16-bit positive/negative immediate | 9 | by the assembler, which will emit the imm instructions when required. This |
10 | operands. The use of 32-bit immediates for the addi and addic | 10 | conveniently handles the optimizable cases where the immediate constant value |
11 | instructions is handled by the assembler, which will emit the imm | 11 | does not need the higher half words of the operands upper/lower words. |
12 | instructions when required. This conveniently handles the optimizable | ||
13 | cases where the immediate constant value does not need the higher half | ||
14 | words of the operands upper/lower words. | ||
15 | 12 | ||
16 | Change the constraints of the subdi3 instruction definition such that it | 13 | Change the constraints of the subdi3 instruction definition such that it |
17 | does not match the second operand as an immediate value. This is because | 14 | does not match the second operand as an immediate value. This is because |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0023-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0019-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch index fa16749e..4a490119 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0023-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0019-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch | |||
@@ -1,13 +1,11 @@ | |||
1 | From 98018d020d9fbae38ea19627dec64d03d7f21fac Mon Sep 17 00:00:00 2001 | 1 | From 3a9ee185eb462f880ceb4ddd125d4a98e0759873 Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Tue, 17 Jan 2017 18:18:41 +0530 | 3 | Date: Tue, 17 Jan 2017 18:18:41 +0530 |
4 | Subject: [PATCH 23/58] [Patch, microblaze]: Update ashlsi3 & movsf patterns | 4 | Subject: [PATCH 19/54] [Patch, microblaze]: Update ashlsi3 & movsf patterns |
5 | 5 | This patch removes the use of HOST_WIDE_INT_PRINT_HEX macro in print_operand | |
6 | This patch removes the use of HOST_WIDE_INT_PRINT_HEX macro in | 6 | of ashlsi3_with_mul_nodelay,ashlsi3_with_mul_delay and movsf_internal |
7 | print_operand of ashlsi3_with_mul_nodelay,ashlsi3_with_mul_delay | 7 | patterns beacuse HOST_WIDE_INT_PRINT_HEX is generating 64-bit value which our |
8 | and movsf_internal patterns beacuse HOST_WIDE_INT_PRINT_HEX | 8 | instruction doesn't support so using gen_int_mode function |
9 | is generating 64-bit value which our instruction doesn't support | ||
10 | so using gen_int_mode function | ||
11 | 9 | ||
12 | Signed-off-by :Nagaraju Mekala <nmekala@xilix.com> | 10 | Signed-off-by :Nagaraju Mekala <nmekala@xilix.com> |
13 | :Ajit Agarwal <ajitkum@xilinx.com> | 11 | :Ajit Agarwal <ajitkum@xilinx.com> |
@@ -24,9 +22,23 @@ ChangeLog: | |||
24 | updated the 'F' case to use "unsinged int" instead | 22 | updated the 'F' case to use "unsinged int" instead |
25 | of HOST_WIDE_INT_PRINT_HEX | 23 | of HOST_WIDE_INT_PRINT_HEX |
26 | --- | 24 | --- |
25 | gcc/config/microblaze/microblaze.c | 2 +- | ||
27 | gcc/config/microblaze/microblaze.md | 10 ++++++++-- | 26 | gcc/config/microblaze/microblaze.md | 10 ++++++++-- |
28 | 1 file changed, 8 insertions(+), 2 deletions(-) | 27 | 2 files changed, 9 insertions(+), 3 deletions(-) |
29 | 28 | ||
29 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c | ||
30 | index 9eae5515c60..0a4619eec0c 100644 | ||
31 | --- a/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) | ||
34 | unsigned long value_long; | ||
35 | REAL_VALUE_TO_TARGET_SINGLE (*CONST_DOUBLE_REAL_VALUE (op), | ||
36 | value_long); | ||
37 | - fprintf (file, "0x%lx", value_long); | ||
38 | + fprintf (file, "0x%08x", (unsigned int) value_long); | ||
39 | } | ||
40 | else | ||
41 | { | ||
30 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md | 42 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md |
31 | index efd2c34e0b7..be8bbda2bfb 100644 | 43 | index efd2c34e0b7..be8bbda2bfb 100644 |
32 | --- a/gcc/config/microblaze/microblaze.md | 44 | --- a/gcc/config/microblaze/microblaze.md |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0024-Patch-microblaze-8-stage-pipeline-for-microblaze.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0020-Patch-microblaze-8-stage-pipeline-for-microblaze.patch index 8e0eda3c..07cf635d 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0024-Patch-microblaze-8-stage-pipeline-for-microblaze.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0020-Patch-microblaze-8-stage-pipeline-for-microblaze.patch | |||
@@ -1,61 +1,28 @@ | |||
1 | From 3f98e90620e0ae6d76a1ba18e97389feb095c3e4 Mon Sep 17 00:00:00 2001 | 1 | From bfdb38133201f7df01d09dc7e7ee3043a35c1d3e Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Tue, 17 Jan 2017 19:50:34 +0530 | 3 | Date: Mon, 9 Nov 2020 19:54:39 +0530 |
4 | Subject: [PATCH 24/58] [Patch, microblaze]: 8-stage pipeline for microblaze | 4 | Subject: [PATCH 20/54] [Patch, microblaze]: 8-stage pipeline for microblaze |
5 | 5 | ||
6 | This patch adds the support for the 8-stage pipeline. The new 8-stage | 6 | This patch adds the support for the 8-stage pipeline. The new 8-stage |
7 | pipeline reduces the latencies of float & integer division drastically | 7 | pipeline reduces the latencies of float & integer division drastically |
8 | 8 | ||
9 | Signed-off-by :Nagaraju Mekala <nmekala@xilix.com> | 9 | Signed-off-by :Nagaraju Mekala <nmekala@xilix.com> |
10 | |||
11 | ChangeLog: | ||
12 | 2016-01-18 Nagaraju Mekala <nmekala@xilix.com> | ||
13 | |||
14 | *microblaze.md (define_automaton mbpipe_8): New | ||
15 | |||
16 | *microblaze.c (microblaze_option_override): Update | ||
17 | Updated the logic to generate only when MB version is 10.0 | ||
18 | |||
19 | *microblaze.h (pipeline_type): Update | ||
20 | Update the enum with MICROBLAZE_PIPE_8 | ||
21 | |||
22 | *microblaze.opt (mxl-frequency): New | ||
23 | New flag added for 8-stage pipeline | ||
24 | --- | 10 | --- |
25 | gcc/config/microblaze/microblaze.c | 18 ++++++- | 11 | gcc/config/microblaze/microblaze.c | 11 ++++ |
26 | gcc/config/microblaze/microblaze.h | 3 +- | 12 | gcc/config/microblaze/microblaze.h | 3 +- |
27 | gcc/config/microblaze/microblaze.md | 79 +++++++++++++++++++++++++++- | 13 | gcc/config/microblaze/microblaze.md | 79 +++++++++++++++++++++++++++- |
28 | gcc/config/microblaze/microblaze.opt | 4 ++ | 14 | gcc/config/microblaze/microblaze.opt | 4 ++ |
29 | 4 files changed, 100 insertions(+), 4 deletions(-) | 15 | 4 files changed, 94 insertions(+), 3 deletions(-) |
30 | 16 | ||
31 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c | 17 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c |
32 | index a4bdf66f045..a3996119bd7 100644 | 18 | index 0a4619eec0c..0dc96e481b7 100644 |
33 | --- a/gcc/config/microblaze/microblaze.c | 19 | --- a/gcc/config/microblaze/microblaze.c |
34 | +++ b/gcc/config/microblaze/microblaze.c | 20 | +++ b/gcc/config/microblaze/microblaze.c |
35 | @@ -164,6 +164,9 @@ int microblaze_no_unsafe_delay; | 21 | @@ -1840,6 +1840,17 @@ microblaze_option_override (void) |
36 | /* Set to one if the targeted core has the CLZ insn. */ | ||
37 | int microblaze_has_clz = 0; | ||
38 | |||
39 | +/* Set to one if the targeted core has barrel-shift and cpu > 10.0 */ | ||
40 | +int microblaze_has_bitfield = 0; | ||
41 | + | ||
42 | /* Which CPU pipeline do we use. We haven't really standardized on a CPU | ||
43 | version having only a particular type of pipeline. There can still be | ||
44 | options on the CPU to scale pipeline features up or down. :( | ||
45 | @@ -1739,7 +1742,7 @@ microblaze_option_override (void) | ||
46 | register int i, start; | ||
47 | register int regno; | ||
48 | register machine_mode mode; | ||
49 | - int ver; | ||
50 | + int ver,ver_int; | ||
51 | |||
52 | microblaze_section_threshold = (global_options_set.x_g_switch_value | ||
53 | ? g_switch_value | ||
54 | @@ -1840,6 +1843,19 @@ microblaze_option_override (void) | ||
55 | "%<-mcpu=v8.30.a%>"); | 22 | "%<-mcpu=v8.30.a%>"); |
56 | TARGET_REORDER = 0; | 23 | TARGET_REORDER = 0; |
57 | } | 24 | } |
58 | + ver = ver_int - microblaze_version_to_int("v10.0"); | 25 | + ver = microblaze_version_to_int("v10.0"); |
59 | + if (ver < 0) | 26 | + if (ver < 0) |
60 | + { | 27 | + { |
61 | + if (TARGET_AREA_OPTIMIZED_2) | 28 | + if (TARGET_AREA_OPTIMIZED_2) |
@@ -65,14 +32,12 @@ index a4bdf66f045..a3996119bd7 100644 | |||
65 | + { | 32 | + { |
66 | + if (TARGET_AREA_OPTIMIZED_2) | 33 | + if (TARGET_AREA_OPTIMIZED_2) |
67 | + microblaze_pipe = MICROBLAZE_PIPE_8; | 34 | + microblaze_pipe = MICROBLAZE_PIPE_8; |
68 | + if (TARGET_BARREL_SHIFT) | ||
69 | + microblaze_has_bitfield = 1; | ||
70 | + } | 35 | + } |
71 | 36 | ||
72 | if (TARGET_MULTIPLY_HIGH && TARGET_SOFT_MUL) | 37 | if (TARGET_MULTIPLY_HIGH && TARGET_SOFT_MUL) |
73 | error ("%<-mxl-multiply-high%> requires %<-mno-xl-soft-mul%>"); | 38 | error ("%<-mxl-multiply-high%> requires %<-mno-xl-soft-mul%>"); |
74 | diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h | 39 | diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h |
75 | index 1e155e4041c..8b0db2c1718 100644 | 40 | index 8aa3f155790..8a668278337 100644 |
76 | --- a/gcc/config/microblaze/microblaze.h | 41 | --- a/gcc/config/microblaze/microblaze.h |
77 | +++ b/gcc/config/microblaze/microblaze.h | 42 | +++ b/gcc/config/microblaze/microblaze.h |
78 | @@ -27,7 +27,8 @@ | 43 | @@ -27,7 +27,8 @@ |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0021-Patch-OPT-Update-heuristics-for-loop-invariant-for-a.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0021-Patch-OPT-Update-heuristics-for-loop-invariant-for-a.patch deleted file mode 100644 index b4d03172..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0021-Patch-OPT-Update-heuristics-for-loop-invariant-for-a.patch +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | From fe7962c6cc54a5d5f80db90ccc06b8603ddeb74f Mon Sep 17 00:00:00 2001 | ||
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | ||
3 | Date: Tue, 17 Jan 2017 17:33:31 +0530 | ||
4 | Subject: [PATCH 21/58] [Patch] OPT: Update heuristics for loop-invariant for | ||
5 | address arithmetic | ||
6 | |||
7 | The changes are made in the patch to update the heuristics | ||
8 | for loop invariant for address arithmetic. The heuristics is | ||
9 | changed to calculate the estimated register pressure cost when | ||
10 | ira based register pressure is not enabled. The estimated | ||
11 | register pressure cost modifies the existing calculation cost | ||
12 | associated to perform the Loop invariant code motion for address | ||
13 | arithmetic. | ||
14 | |||
15 | ChangeLog: | ||
16 | 2015-06-17 Ajit Agarwal <ajitkum@xilinx.com> | ||
17 | Nagaraju Mekala <nmekala@xilinx.com> | ||
18 | |||
19 | * loop-invariant.c (gain_for_invariant): update the | ||
20 | heuristics for estimate_reg_pressure_cost. | ||
21 | |||
22 | Signed-off-by:Ajit Agarwal ajitkum@xilinx.com | ||
23 | Nagaraju Mekala nmekala@xilinx.com | ||
24 | --- | ||
25 | gcc/loop-invariant.c | 6 ++---- | ||
26 | 1 file changed, 2 insertions(+), 4 deletions(-) | ||
27 | |||
28 | diff --git a/gcc/loop-invariant.c b/gcc/loop-invariant.c | ||
29 | index 37ae6549e56..f6385d6cf43 100644 | ||
30 | --- a/gcc/loop-invariant.c | ||
31 | +++ b/gcc/loop-invariant.c | ||
32 | @@ -1465,10 +1465,8 @@ gain_for_invariant (struct invariant *inv, unsigned *regs_needed, | ||
33 | |||
34 | if (! flag_ira_loop_pressure) | ||
35 | { | ||
36 | - size_cost = (estimate_reg_pressure_cost (new_regs[0] + regs_needed[0], | ||
37 | - regs_used, speed, call_p) | ||
38 | - - estimate_reg_pressure_cost (new_regs[0], | ||
39 | - regs_used, speed, call_p)); | ||
40 | + size_cost = estimate_reg_pressure_cost (regs_needed[0], | ||
41 | + regs_used, speed, call_p); | ||
42 | } | ||
43 | else if (ret < 0) | ||
44 | return -1; | ||
45 | -- | ||
46 | 2.17.1 | ||
47 | |||
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0021-Patch-microblaze-Correct-the-const-high-double-immed.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0021-Patch-microblaze-Correct-the-const-high-double-immed.patch new file mode 100644 index 00000000..f362cea8 --- /dev/null +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0021-Patch-microblaze-Correct-the-const-high-double-immed.patch | |||
@@ -0,0 +1,58 @@ | |||
1 | From af01da22797795408d45dcf03076dc8153c7029e Mon Sep 17 00:00:00 2001 | ||
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | ||
3 | Date: Mon, 9 Nov 2020 21:14:54 +0530 | ||
4 | Subject: [PATCH 21/54] [Patch, microblaze]: Correct the const high double | ||
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 | ||
7 | functions, as CONST_DOUBLE_HIGH was returning the sign extension value even | ||
8 | of the unsigned long long constants also | ||
9 | |||
10 | Signed-off-by :Nagaraju Mekala <nmekala@xilix.com> | ||
11 | Ajit Agarwal <ajitkum@xilinx.com> | ||
12 | --- | ||
13 | gcc/config/microblaze/microblaze.c | 6 ++++-- | ||
14 | gcc/testsuite/gcc.target/microblaze/others/long.c | 9 +++++++++ | ||
15 | 2 files changed, 13 insertions(+), 2 deletions(-) | ||
16 | create mode 100644 gcc/testsuite/gcc.target/microblaze/others/long.c | ||
17 | |||
18 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c | ||
19 | index 0dc96e481b7..5d395f047f7 100644 | ||
20 | --- a/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) | ||
23 | else if (letter == 'h' || letter == 'j') | ||
24 | { | ||
25 | long val[2]; | ||
26 | + long l[2]; | ||
27 | if (code == CONST_DOUBLE) | ||
28 | { | ||
29 | if (GET_MODE (op) == DFmode) | ||
30 | REAL_VALUE_TO_TARGET_DOUBLE (*CONST_DOUBLE_REAL_VALUE (op), val); | ||
31 | else | ||
32 | { | ||
33 | - val[0] = CONST_DOUBLE_HIGH (op); | ||
34 | - val[1] = CONST_DOUBLE_LOW (op); | ||
35 | + REAL_VALUE_TO_TARGET_DOUBLE (*CONST_DOUBLE_REAL_VALUE (op), l); | ||
36 | + val[1] = l[WORDS_BIG_ENDIAN == 0]; | ||
37 | + val[0] = l[WORDS_BIG_ENDIAN != 0]; | ||
38 | } | ||
39 | } | ||
40 | else if (code == CONST_INT) | ||
41 | diff --git a/gcc/testsuite/gcc.target/microblaze/others/long.c b/gcc/testsuite/gcc.target/microblaze/others/long.c | ||
42 | new file mode 100644 | ||
43 | index 00000000000..b6b55d5ad65 | ||
44 | --- /dev/null | ||
45 | +++ b/gcc/testsuite/gcc.target/microblaze/others/long.c | ||
46 | @@ -0,0 +1,9 @@ | ||
47 | +#define BASEADDR 0xF0000000ULL | ||
48 | +int main () | ||
49 | +{ | ||
50 | + unsigned long long start; | ||
51 | + start = (unsigned long long) BASEADDR; | ||
52 | + return 0; | ||
53 | +} | ||
54 | +/* { dg-final { scan-assembler "addik\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r0,0x00000000" } } */ | ||
55 | +/* { dg-final { scan-assembler "addik\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r0,0xf0000000" } } */ | ||
56 | -- | ||
57 | 2.17.1 | ||
58 | |||
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0027-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0022-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch index 3869db15..3faef052 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0027-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0022-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch | |||
@@ -1,12 +1,11 @@ | |||
1 | From ea79d97f430d554921d94d30cb8db851cce6664b Mon Sep 17 00:00:00 2001 | 1 | From 7349def8102c09fd09e735daa9fc890bee323e79 Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Wed, 18 Jan 2017 11:49:58 +0530 | 3 | Date: Wed, 18 Jan 2017 11:49:58 +0530 |
4 | Subject: [PATCH 27/58] [Fix, microblaze]: Fix internal compiler error with | 4 | Subject: [PATCH 22/54] [Fix, microblaze]: Fix internal compiler error with |
5 | msmall-divides | 5 | msmall-divides This patch will fix the internal error |
6 | 6 | microblaze_expand_divide function which comes because of rtx PLUS where the | |
7 | This patch will fix the internal error microblaze_expand_divide function which comes because | 7 | mem_rtx is of type SI and the operand is of type QImode. This patch modifies |
8 | of rtx PLUS where the mem_rtx is of type SI and the operand is of type QImode. | 8 | the mem_rtx as QImode and Plus as QImode to fix the error. |
9 | This patch modifies the mem_rtx as QImode and Plus as QImode to fix the error. | ||
10 | 9 | ||
11 | Signed-off-by :Nagaraju Mekala <nmekala@xilix.com> | 10 | Signed-off-by :Nagaraju Mekala <nmekala@xilix.com> |
12 | Ajit Agarwal <ajitkum@xilinx.com> | 11 | Ajit Agarwal <ajitkum@xilinx.com> |
@@ -20,10 +19,10 @@ ChangeLog: | |||
20 | 1 file changed, 1 insertion(+), 1 deletion(-) | 19 | 1 file changed, 1 insertion(+), 1 deletion(-) |
21 | 20 | ||
22 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c | 21 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c |
23 | index 73d0e010cda..f7c29ef28f5 100644 | 22 | index 5d395f047f7..29b2f6b016b 100644 |
24 | --- a/gcc/config/microblaze/microblaze.c | 23 | --- a/gcc/config/microblaze/microblaze.c |
25 | +++ b/gcc/config/microblaze/microblaze.c | 24 | +++ b/gcc/config/microblaze/microblaze.c |
26 | @@ -3902,7 +3902,7 @@ microblaze_expand_divide (rtx operands[]) | 25 | @@ -3767,7 +3767,7 @@ microblaze_expand_divide (rtx operands[]) |
27 | emit_insn (gen_ashlsi3_bshift (regt1, operands[1], GEN_INT(4))); | 26 | emit_insn (gen_ashlsi3_bshift (regt1, operands[1], GEN_INT(4))); |
28 | emit_insn (gen_addsi3 (regt1, regt1, operands[2])); | 27 | emit_insn (gen_addsi3 (regt1, regt1, operands[2])); |
29 | mem_rtx = gen_rtx_MEM (QImode, | 28 | mem_rtx = gen_rtx_MEM (QImode, |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0028-patch-microblaze-Fix-the-calculation-of-high-word-in.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0023-patch-microblaze-Fix-the-calculation-of-high-word-in.patch index 3f9dd69b..1c4f8ca9 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0028-patch-microblaze-Fix-the-calculation-of-high-word-in.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0023-patch-microblaze-Fix-the-calculation-of-high-word-in.patch | |||
@@ -1,8 +1,8 @@ | |||
1 | From fa067a4b7b65aae3671bb02d77c580c9e35fc384 Mon Sep 17 00:00:00 2001 | 1 | From ad3d0a29a4895351008ce959138c13b8f5924464 Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Wed, 18 Jan 2017 12:03:39 +0530 | 3 | Date: Wed, 18 Jan 2017 12:03:39 +0530 |
4 | Subject: [PATCH 28/58] [patch,microblaze]: Fix the calculation of high word in | 4 | Subject: [PATCH 23/54] [patch,microblaze]: Fix the calculation of high word in |
5 | a long long 64-bit | 5 | a long long 6. .4-bit |
6 | 6 | ||
7 | This patch will change the calculation of high word in a long long 64-bit. | 7 | This patch will change the calculation of high word in a long long 64-bit. |
8 | Earlier to this patch the high word of long long word (0xF0000000ULL) is | 8 | Earlier to this patch the high word of long long word (0xF0000000ULL) is |
@@ -27,10 +27,10 @@ ChangeLog: | |||
27 | 1 file changed, 3 deletions(-) | 27 | 1 file changed, 3 deletions(-) |
28 | 28 | ||
29 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c | 29 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c |
30 | index f7c29ef28f5..0a73a6c32b4 100644 | 30 | index 29b2f6b016b..4710def18cf 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 | @@ -2603,9 +2603,6 @@ print_operand (FILE * file, rtx op, int letter) | 33 | @@ -2468,9 +2468,6 @@ print_operand (FILE * file, rtx op, int letter) |
34 | { | 34 | { |
35 | val[0] = (INTVAL (op) & 0xffffffff00000000LL) >> 32; | 35 | val[0] = (INTVAL (op) & 0xffffffff00000000LL) >> 32; |
36 | val[1] = INTVAL (op) & 0x00000000ffffffffLL; | 36 | val[1] = INTVAL (op) & 0x00000000ffffffffLL; |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0029-Patch-microblaze-Add-new-bit-field-instructions.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0024-Patch-microblaze-Add-new-bit-field-instructions.patch index dfdb479c..590cb38c 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0029-Patch-microblaze-Add-new-bit-field-instructions.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0024-Patch-microblaze-Add-new-bit-field-instructions.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 341bf8ad4e55693d00d4d8c916f4c347e7186dd4 Mon Sep 17 00:00:00 2001 | 1 | From 50f5f8341ba39f2e12eef4a149e59f71f032f7d3 Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Wed, 18 Jan 2017 12:14:51 +0530 | 3 | Date: Tue, 10 Nov 2020 09:51:24 +0530 |
4 | Subject: [PATCH 29/58] [Patch, microblaze]: Add new bit-field instructions | 4 | Subject: [PATCH 24/54] [Patch, microblaze]: Add new bit-field instructions |
5 | 5 | ||
6 | This patches adds new bsefi and bsifi instructions. | 6 | This patches adds new bsefi and bsifi instructions. |
7 | BSEFI- The instruction shall extract a bit field from a | 7 | BSEFI- The instruction shall extract a bit field from a |
@@ -12,18 +12,37 @@ from a register at another position in the destination register. | |||
12 | The rest of the bits in the destination register shall be unchanged | 12 | The rest of the bits in the destination register shall be unchanged |
13 | 13 | ||
14 | Signed-off-by :Nagaraju Mekala <nmekala@xilix.com> | 14 | Signed-off-by :Nagaraju Mekala <nmekala@xilix.com> |
15 | |||
16 | ChangeLog: | ||
17 | 2016-02-03 Nagaraju Mekala <nmekala@xilix.com> | ||
18 | |||
19 | *microblaze.md (Update): Added new patterns | ||
20 | --- | 15 | --- |
16 | gcc/config/microblaze/microblaze.c | 5 ++ | ||
21 | gcc/config/microblaze/microblaze.h | 2 + | 17 | gcc/config/microblaze/microblaze.h | 2 + |
22 | gcc/config/microblaze/microblaze.md | 73 +++++++++++++++++++++++++++++ | 18 | gcc/config/microblaze/microblaze.md | 73 +++++++++++++++++++++++++++++ |
23 | 2 files changed, 75 insertions(+) | 19 | 3 files changed, 80 insertions(+) |
24 | 20 | ||
21 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c | ||
22 | index 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) | ||
25 | diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h | 44 | diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h |
26 | index 8b0db2c1718..b5b7b22cec9 100644 | 45 | index 8a668278337..857cb1cd9d0 100644 |
27 | --- a/gcc/config/microblaze/microblaze.h | 46 | --- a/gcc/config/microblaze/microblaze.h |
28 | +++ b/gcc/config/microblaze/microblaze.h | 47 | +++ b/gcc/config/microblaze/microblaze.h |
29 | @@ -44,6 +44,7 @@ extern int microblaze_dbx_regno[]; | 48 | @@ -44,6 +44,7 @@ extern int microblaze_dbx_regno[]; |
@@ -34,16 +53,16 @@ index 8b0db2c1718..b5b7b22cec9 100644 | |||
34 | extern enum pipeline_type microblaze_pipe; | 53 | extern enum pipeline_type microblaze_pipe; |
35 | 54 | ||
36 | #define OBJECT_FORMAT_ELF | 55 | #define OBJECT_FORMAT_ELF |
37 | @@ -62,6 +63,7 @@ extern enum pipeline_type microblaze_pipe; | 56 | @@ -63,6 +64,7 @@ extern enum pipeline_type microblaze_pipe; |
38 | |||
39 | /* Do we have CLZ? */ | 57 | /* Do we have CLZ? */ |
40 | #define TARGET_HAS_CLZ (TARGET_PATTERN_COMPARE && microblaze_has_clz) | 58 | #define TARGET_HAS_CLZ (TARGET_PATTERN_COMPARE && microblaze_has_clz) |
41 | +#define TARGET_HAS_BITFIELD (TARGET_BARREL_SHIFT && microblaze_has_bitfield) | ||
42 | 59 | ||
60 | +#define TARGET_HAS_BITFIELD (TARGET_BARREL_SHIFT && microblaze_has_bitfield) | ||
43 | /* The default is to support PIC. */ | 61 | /* The default is to support PIC. */ |
44 | #define TARGET_SUPPORTS_PIC 1 | 62 | #define TARGET_SUPPORTS_PIC 1 |
63 | |||
45 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md | 64 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md |
46 | index c407a81c51e..fa6aabdb9d4 100644 | 65 | index c407a81c51e..3e6e2b9276d 100644 |
47 | --- a/gcc/config/microblaze/microblaze.md | 66 | --- a/gcc/config/microblaze/microblaze.md |
48 | +++ b/gcc/config/microblaze/microblaze.md | 67 | +++ b/gcc/config/microblaze/microblaze.md |
49 | @@ -982,6 +982,8 @@ | 68 | @@ -982,6 +982,8 @@ |
@@ -72,7 +91,7 @@ index c407a81c51e..fa6aabdb9d4 100644 | |||
72 | + (zero_extract:SI (match_operand:SI 1 "register_operand" "r") | 91 | + (zero_extract:SI (match_operand:SI 1 "register_operand" "r") |
73 | + (match_operand:SI 2 "immediate_operand" "I") | 92 | + (match_operand:SI 2 "immediate_operand" "I") |
74 | + (match_operand:SI 3 "immediate_operand" "I")))] | 93 | + (match_operand:SI 3 "immediate_operand" "I")))] |
75 | +"TARGET_HAS_BITFIELD" | 94 | +"" |
76 | +" | 95 | +" |
77 | +{ | 96 | +{ |
78 | + unsigned HOST_WIDE_INT len = UINTVAL (operands[2]); | 97 | + unsigned HOST_WIDE_INT len = UINTVAL (operands[2]); |
@@ -98,7 +117,7 @@ index c407a81c51e..fa6aabdb9d4 100644 | |||
98 | + (zero_extract:SI (match_operand:SI 1 "register_operand" "r") | 117 | + (zero_extract:SI (match_operand:SI 1 "register_operand" "r") |
99 | + (match_operand:SI 2 "immediate_operand" "I") | 118 | + (match_operand:SI 2 "immediate_operand" "I") |
100 | + (match_operand:SI 3 "immediate_operand" "I")))] | 119 | + (match_operand:SI 3 "immediate_operand" "I")))] |
101 | + "TARGET_HAS_BITFIELD && (UINTVAL (operands[2]) > 0) | 120 | + "TARGET_BARREL_SHIFT && (UINTVAL (operands[2]) > 0) |
102 | + && ((UINTVAL (operands[2]) + UINTVAL (operands[3])) <= 32)" | 121 | + && ((UINTVAL (operands[2]) + UINTVAL (operands[3])) <= 32)" |
103 | + "bsefi %0,%1,%2,%3" | 122 | + "bsefi %0,%1,%2,%3" |
104 | + [(set_attr "type" "bshift") | 123 | + [(set_attr "type" "bshift") |
@@ -109,7 +128,7 @@ index c407a81c51e..fa6aabdb9d4 100644 | |||
109 | + (match_operand:SI 1 "immediate_operand" "I") | 128 | + (match_operand:SI 1 "immediate_operand" "I") |
110 | + (match_operand:SI 2 "immediate_operand" "I")) | 129 | + (match_operand:SI 2 "immediate_operand" "I")) |
111 | + (match_operand:SI 3 "register_operand" "r"))] | 130 | + (match_operand:SI 3 "register_operand" "r"))] |
112 | + "TARGET_HAS_BITFIELD" | 131 | + "" |
113 | + " | 132 | + " |
114 | +{ | 133 | +{ |
115 | + unsigned HOST_WIDE_INT len = UINTVAL (operands[1]); | 134 | + unsigned HOST_WIDE_INT len = UINTVAL (operands[1]); |
@@ -131,7 +150,7 @@ index c407a81c51e..fa6aabdb9d4 100644 | |||
131 | + (match_operand:SI 1 "immediate_operand" "I") | 150 | + (match_operand:SI 1 "immediate_operand" "I") |
132 | + (match_operand:SI 2 "immediate_operand" "I")) | 151 | + (match_operand:SI 2 "immediate_operand" "I")) |
133 | + (match_operand:SI 3 "register_operand" "r"))] | 152 | + (match_operand:SI 3 "register_operand" "r"))] |
134 | + "TARGET_HAS_BITFIELD && UINTVAL (operands[1]) > 0 | 153 | + "TARGET_BARREL_SHIFT && UINTVAL (operands[1]) > 0 |
135 | + && UINTVAL (operands[1]) + UINTVAL (operands[2]) <= 32" | 154 | + && UINTVAL (operands[1]) + UINTVAL (operands[2]) <= 32" |
136 | + "bsifi %0, %3, %1, %2" | 155 | + "bsifi %0, %3, %1, %2" |
137 | + [(set_attr "type" "bshift") | 156 | + [(set_attr "type" "bshift") |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0030-Patch-microblaze-Fix-bug-in-MB-version-calculation.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0025-Patch-microblaze-Fix-bug-in-MB-version-calculation.patch index bb773239..da24f113 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0030-Patch-microblaze-Fix-bug-in-MB-version-calculation.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0025-Patch-microblaze-Fix-bug-in-MB-version-calculation.patch | |||
@@ -1,20 +1,18 @@ | |||
1 | From df38540af411564f428079335c8d1e695dc1d723 Mon Sep 17 00:00:00 2001 | 1 | From cb67b2e64c0d5bd32d36cb32def5f889122fc37a Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Wed, 18 Jan 2017 12:42:10 +0530 | 3 | Date: Wed, 18 Jan 2017 12:42:10 +0530 |
4 | Subject: [PATCH 30/58] [Patch, microblaze]: Fix bug in MB version calculation | 4 | Subject: [PATCH 25/54] [Patch, microblaze]: Fix bug in MB version calculation |
5 | 5 | This patch fixes the bug in microblaze_version_to_int function. Earlier the | |
6 | This patch fixes the bug in microblaze_version_to_int function. | 6 | conversion of vXX.YY.Z to int has a bug which is fixed now. |
7 | Earlier the conversion of vXX.YY.Z to int has a bug which is | ||
8 | fixed now. | ||
9 | 7 | ||
10 | Signed-off-by : Mahesh Bodapati <mbodapat@xilinx.com> | 8 | Signed-off-by : Mahesh Bodapati <mbodapat@xilinx.com> |
11 | Nagaraju Mekala <nmekala@xilix.com> | 9 | Nagaraju Mekala <nmekala@xilix.com> |
12 | --- | 10 | --- |
13 | gcc/config/microblaze/microblaze.c | 145 ++++++++++++++--------------- | 11 | gcc/config/microblaze/microblaze.c | 147 ++++++++++++++--------------- |
14 | 1 file changed, 69 insertions(+), 76 deletions(-) | 12 | 1 file changed, 70 insertions(+), 77 deletions(-) |
15 | 13 | ||
16 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c | 14 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c |
17 | index 0a73a6c32b4..4b5699671e8 100644 | 15 | index 14c652325a8..451db9c79b0 100644 |
18 | --- a/gcc/config/microblaze/microblaze.c | 16 | --- a/gcc/config/microblaze/microblaze.c |
19 | +++ b/gcc/config/microblaze/microblaze.c | 17 | +++ b/gcc/config/microblaze/microblaze.c |
20 | @@ -242,6 +242,63 @@ section *sdata2_section; | 18 | @@ -242,6 +242,63 @@ section *sdata2_section; |
@@ -101,7 +99,7 @@ index 0a73a6c32b4..4b5699671e8 100644 | |||
101 | *total = COSTS_N_INSNS (1); | 99 | *total = COSTS_N_INSNS (1); |
102 | else | 100 | else |
103 | *total = COSTS_N_INSNS (3); | 101 | *total = COSTS_N_INSNS (3); |
104 | @@ -1677,65 +1732,6 @@ function_arg_partial_bytes (cumulative_args_t cum_v, | 102 | @@ -1677,72 +1732,13 @@ function_arg_partial_bytes (cumulative_args_t cum_v, |
105 | return 0; | 103 | return 0; |
106 | } | 104 | } |
107 | 105 | ||
@@ -167,6 +165,14 @@ index 0a73a6c32b4..4b5699671e8 100644 | |||
167 | static void | 165 | static void |
168 | microblaze_option_override (void) | 166 | microblaze_option_override (void) |
169 | { | 167 | { |
168 | register int i, start; | ||
169 | register int regno; | ||
170 | register machine_mode mode; | ||
171 | - int ver; | ||
172 | + int ver,ver_int; | ||
173 | |||
174 | microblaze_section_threshold = (global_options_set.x_g_switch_value | ||
175 | ? g_switch_value | ||
170 | @@ -1763,13 +1759,13 @@ microblaze_option_override (void) | 176 | @@ -1763,13 +1759,13 @@ microblaze_option_override (void) |
171 | /* Check the MicroBlaze CPU version for any special action to be done. */ | 177 | /* Check the MicroBlaze CPU version for any special action to be done. */ |
172 | if (microblaze_select_cpu == NULL) | 178 | if (microblaze_select_cpu == NULL) |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0025-Patch-rtl-Optimization-Better-register-pressure-esti.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0025-Patch-rtl-Optimization-Better-register-pressure-esti.patch deleted file mode 100644 index f1b793f3..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0025-Patch-rtl-Optimization-Better-register-pressure-esti.patch +++ /dev/null | |||
@@ -1,142 +0,0 @@ | |||
1 | From eca67041b3d6e20663313732df0038d75fd2da8d Mon Sep 17 00:00:00 2001 | ||
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | ||
3 | Date: Wed, 18 Jan 2017 11:08:40 +0530 | ||
4 | Subject: [PATCH 25/58] [Patch,rtl Optimization]: Better register pressure | ||
5 | estimate for loop invariant code motion | ||
6 | |||
7 | Calculate the loop liveness used for regs for calculating the register pressure | ||
8 | in the cost estimation. Loop liveness is based on the following properties. | ||
9 | We only need to find the set of objects that are live at the birth or the header | ||
10 | of the loop. We don't need to calculate the live through the loop by considering | ||
11 | live in and live out of all the basic blocks of the loop. This is based on the | ||
12 | point that the set of objects that are live-in at the birth or header of the loop | ||
13 | will be live-in at every node in the loop. | ||
14 | |||
15 | If a v live is out at the header of the loop then the variable is live-in at every node | ||
16 | in the loop. To prove this, consider a loop L with header h such that the variable v | ||
17 | defined at d is live-in at h. Since v is live at h, d is not part of L. This follows i | ||
18 | from the dominance property, i.e. h is strictly dominated by d. Furthermore, there | ||
19 | exists a path from h to a use of v which does not go through d. For every node p in | ||
20 | the loop, since the loop is strongly connected and node is a component of the CFG, | ||
21 | there exists a path, consisting only of nodes of L from p to h. Concatenating these | ||
22 | two paths proves that v is live-in and live-out of p. | ||
23 | |||
24 | Calculate the live-out and live-in for the exit edge of the loop. This patch considers | ||
25 | liveness for not only the loop latch but also the liveness outside the loops. | ||
26 | |||
27 | ChangeLog: | ||
28 | 2016-01-22 Ajit Agarwal <ajitkum@xilinx.com> | ||
29 | |||
30 | * loop-invariant.c | ||
31 | (find_invariants_to_move): Add the logic of regs_used based | ||
32 | on liveness. | ||
33 | * cfgloopanal.c | ||
34 | (estimate_reg_pressure_cost): Update the heuristics in presence | ||
35 | of call_p. | ||
36 | |||
37 | Signed-off-by:Ajit Agarwal ajitkum@xilinx.com. | ||
38 | --- | ||
39 | gcc/cfgloopanal.c | 4 ++- | ||
40 | gcc/loop-invariant.c | 63 +++++++++++++++++++++++++++++++++----------- | ||
41 | 2 files changed, 50 insertions(+), 17 deletions(-) | ||
42 | |||
43 | diff --git a/gcc/cfgloopanal.c b/gcc/cfgloopanal.c | ||
44 | index 0b33e8272a7..7be8606e4f0 100644 | ||
45 | --- a/gcc/cfgloopanal.c | ||
46 | +++ b/gcc/cfgloopanal.c | ||
47 | @@ -418,7 +418,9 @@ estimate_reg_pressure_cost (unsigned n_new, unsigned n_old, bool speed, | ||
48 | if (regs_needed + target_res_regs <= available_regs) | ||
49 | return 0; | ||
50 | |||
51 | - if (regs_needed <= available_regs) | ||
52 | + if ((regs_needed <= available_regs) | ||
53 | + || (call_p && (regs_needed <= | ||
54 | + (available_regs + target_clobbered_regs)))) | ||
55 | /* If we are close to running out of registers, try to preserve | ||
56 | them. */ | ||
57 | cost = target_reg_cost [speed] * n_new; | ||
58 | diff --git a/gcc/loop-invariant.c b/gcc/loop-invariant.c | ||
59 | index f6385d6cf43..8596b5c984d 100644 | ||
60 | --- a/gcc/loop-invariant.c | ||
61 | +++ b/gcc/loop-invariant.c | ||
62 | @@ -1519,7 +1519,7 @@ gain_for_invariant (struct invariant *inv, unsigned *regs_needed, | ||
63 | size_cost = 0; | ||
64 | } | ||
65 | |||
66 | - return comp_cost - size_cost; | ||
67 | + return comp_cost - size_cost + 1; | ||
68 | } | ||
69 | |||
70 | /* Finds invariant with best gain for moving. Returns the gain, stores | ||
71 | @@ -1613,22 +1613,53 @@ find_invariants_to_move (bool speed, bool call_p) | ||
72 | /* REGS_USED is actually never used when the flag is on. */ | ||
73 | regs_used = 0; | ||
74 | else | ||
75 | - /* We do not really do a good job in estimating number of | ||
76 | - registers used; we put some initial bound here to stand for | ||
77 | - induction variables etc. that we do not detect. */ | ||
78 | + /* The logic used in estimating the number of regs_used is changed. | ||
79 | + Now it will be based on liveness of the loop. */ | ||
80 | { | ||
81 | - unsigned int n_regs = DF_REG_SIZE (df); | ||
82 | - | ||
83 | - regs_used = 2; | ||
84 | - | ||
85 | - for (i = 0; i < n_regs; i++) | ||
86 | - { | ||
87 | - if (!DF_REGNO_FIRST_DEF (i) && DF_REGNO_LAST_USE (i)) | ||
88 | - { | ||
89 | - /* This is a value that is used but not changed inside loop. */ | ||
90 | - regs_used++; | ||
91 | - } | ||
92 | - } | ||
93 | + int i; | ||
94 | + edge e; | ||
95 | + vec<edge> edges; | ||
96 | + bitmap_head regs_live; | ||
97 | + | ||
98 | + bitmap_initialize (®s_live, ®_obstack); | ||
99 | + edges = get_loop_exit_edges (curr_loop); | ||
100 | + | ||
101 | + /* Loop liveness is based on the following properties. | ||
102 | + We only need to find the set of objects that are live at the | ||
103 | + birth or the header of the loop. | ||
104 | + We don't need to calculate the live through the loop considering | ||
105 | + live-in and live-out of all the basic blocks of the loop. This is | ||
106 | + based on the point that the set of objects that are live-in at the | ||
107 | + birth or header of the loop will be live-in at every block in the | ||
108 | + loop. | ||
109 | + | ||
110 | + If a v live out at the header of the loop then the variable is | ||
111 | + live-in at every node in the Loop. To prove this, consider a loop | ||
112 | + L with header h such that the variable v defined at d is live-in | ||
113 | + at h. Since v is live at h, d is not part of L. This follows from | ||
114 | + the dominance property, i.e. h is strictly dominated by d. Furthermore, | ||
115 | + there exists a path from h to a use of v which does not go through d. | ||
116 | + For every node of the loop, p, since the loop is strongly connected | ||
117 | + component of the CFG, there exists a path, consisting only of nodes | ||
118 | + of L from p to h. Concatenating these two paths prove that v is | ||
119 | + live-in and live-out of p. */ | ||
120 | + | ||
121 | + bitmap_ior_into (®s_live, DF_LR_IN (curr_loop->header)); | ||
122 | + bitmap_ior_into (®s_live, DF_LR_OUT (curr_loop->header)); | ||
123 | + | ||
124 | + /* Calculate the live-out and live-in for the exit edge of the loop. | ||
125 | + This considers liveness for not only the loop latch but also the | ||
126 | + liveness outside the loops. */ | ||
127 | + | ||
128 | + FOR_EACH_VEC_ELT (edges, i, e) | ||
129 | + { | ||
130 | + bitmap_ior_into (®s_live, DF_LR_OUT (e->src)); | ||
131 | + bitmap_ior_into (®s_live, DF_LR_IN (e->dest)); | ||
132 | + } | ||
133 | + | ||
134 | + regs_used = bitmap_count_bits (®s_live) + 2; | ||
135 | + bitmap_clear (®s_live); | ||
136 | + edges.release (); | ||
137 | } | ||
138 | |||
139 | if (! flag_ira_loop_pressure) | ||
140 | -- | ||
141 | 2.17.1 | ||
142 | |||
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0031-Fixing-the-issue-with-the-builtin_alloc.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0026-Fixing-the-issue-with-the-builtin_alloc.patch index 0c80cf81..c0719f6e 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0031-Fixing-the-issue-with-the-builtin_alloc.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0026-Fixing-the-issue-with-the-builtin_alloc.patch | |||
@@ -1,10 +1,9 @@ | |||
1 | From 87da245d89fffe6a025037b4a53f66dafa7e1f84 Mon Sep 17 00:00:00 2001 | 1 | From fdb2f23a69182da516c7bf89a9e0011e55120f94 Mon Sep 17 00:00:00 2001 |
2 | From: Nagaraju Mekala <nmekala@xilix.com> | 2 | From: Nagaraju Mekala <nmekala@xilix.com> |
3 | Date: Thu, 23 Feb 2017 17:09:04 +0530 | 3 | Date: Thu, 23 Feb 2017 17:09:04 +0530 |
4 | Subject: [PATCH 31/58] Fixing the issue with the builtin_alloc. | 4 | Subject: [PATCH 26/54] Fixing the issue with the builtin_alloc. register r18 |
5 | 5 | was not properly handling the stack pattern which was resolved by using free | |
6 | register r18 was not properly handling the stack pattern | 6 | available register |
7 | which was resolved by using free available register | ||
8 | 7 | ||
9 | signed-off-by:nagaraju mekala <nmekala@xilinx.com> | 8 | signed-off-by:nagaraju mekala <nmekala@xilinx.com> |
10 | --- | 9 | --- |
@@ -12,7 +11,7 @@ signed-off-by:nagaraju mekala <nmekala@xilinx.com> | |||
12 | 1 file changed, 4 insertions(+), 4 deletions(-) | 11 | 1 file changed, 4 insertions(+), 4 deletions(-) |
13 | 12 | ||
14 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md | 13 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md |
15 | index fa6aabdb9d4..9de46d0ce24 100644 | 14 | index 3e6e2b9276d..d938efcd762 100644 |
16 | --- a/gcc/config/microblaze/microblaze.md | 15 | --- a/gcc/config/microblaze/microblaze.md |
17 | +++ b/gcc/config/microblaze/microblaze.md | 16 | +++ b/gcc/config/microblaze/microblaze.md |
18 | @@ -2078,10 +2078,10 @@ | 17 | @@ -2078,10 +2078,10 @@ |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0026-Patch-microblaze-Correct-the-const-high-double-immed.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0026-Patch-microblaze-Correct-the-const-high-double-immed.patch deleted file mode 100644 index cbc1b7b8..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0026-Patch-microblaze-Correct-the-const-high-double-immed.patch +++ /dev/null | |||
@@ -1,69 +0,0 @@ | |||
1 | From 711652dd187e5b8d7aa12ecc9f569f10b1521bd1 Mon Sep 17 00:00:00 2001 | ||
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | ||
3 | Date: Wed, 18 Jan 2017 11:25:48 +0530 | ||
4 | Subject: [PATCH 26/58] [Patch, microblaze]: Correct the const high double | ||
5 | immediate value | ||
6 | |||
7 | With this patch the loading of the DI mode immediate values will be | ||
8 | using REAL_VALUE_FROM_CONST_DOUBLE and REAL_VALUE_TO_TARGET_DOUBLE | ||
9 | functions, as CONST_DOUBLE_HIGH was returning the sign extension value | ||
10 | even of the unsigned long long constants also | ||
11 | |||
12 | Signed-off-by :Nagaraju Mekala <nmekala@xilix.com> | ||
13 | Ajit Agarwal <ajitkum@xilinx.com> | ||
14 | |||
15 | ChangeLog: | ||
16 | 2016-02-03 Nagaraju Mekala <nmekala@xilix.com> | ||
17 | Ajit Agarwal <ajitkum@xilinx.com> | ||
18 | |||
19 | *microblaze.c (print_operand): Use REAL_VALUE_FROM_CONST_DOUBLE & | ||
20 | REAL_VALUE_TO_TARGET_DOUBLE | ||
21 | *long.c (new): Added new testcase | ||
22 | --- | ||
23 | gcc/config/microblaze/microblaze.c | 6 ++++-- | ||
24 | gcc/testsuite/gcc.target/microblaze/long.c | 10 ++++++++++ | ||
25 | 2 files changed, 14 insertions(+), 2 deletions(-) | ||
26 | create mode 100644 gcc/testsuite/gcc.target/microblaze/long.c | ||
27 | |||
28 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c | ||
29 | index a3996119bd7..73d0e010cda 100644 | ||
30 | --- a/gcc/config/microblaze/microblaze.c | ||
31 | +++ b/gcc/config/microblaze/microblaze.c | ||
32 | @@ -2587,14 +2587,16 @@ print_operand (FILE * file, rtx op, int letter) | ||
33 | else if (letter == 'h' || letter == 'j') | ||
34 | { | ||
35 | long val[2]; | ||
36 | + long l[2]; | ||
37 | if (code == CONST_DOUBLE) | ||
38 | { | ||
39 | if (GET_MODE (op) == DFmode) | ||
40 | REAL_VALUE_TO_TARGET_DOUBLE (*CONST_DOUBLE_REAL_VALUE (op), val); | ||
41 | else | ||
42 | { | ||
43 | - val[0] = CONST_DOUBLE_HIGH (op); | ||
44 | - val[1] = CONST_DOUBLE_LOW (op); | ||
45 | + REAL_VALUE_TO_TARGET_DOUBLE (*CONST_DOUBLE_REAL_VALUE (op), l); | ||
46 | + val[1] = l[WORDS_BIG_ENDIAN == 0]; | ||
47 | + val[0] = l[WORDS_BIG_ENDIAN != 0]; | ||
48 | } | ||
49 | } | ||
50 | else if (code == CONST_INT) | ||
51 | diff --git a/gcc/testsuite/gcc.target/microblaze/long.c b/gcc/testsuite/gcc.target/microblaze/long.c | ||
52 | new file mode 100644 | ||
53 | index 00000000000..4d4518619d1 | ||
54 | --- /dev/null | ||
55 | +++ b/gcc/testsuite/gcc.target/microblaze/long.c | ||
56 | @@ -0,0 +1,10 @@ | ||
57 | +/* { dg-options "-O0" } */ | ||
58 | +#define BASEADDR 0xF0000000ULL | ||
59 | +int main () | ||
60 | +{ | ||
61 | + unsigned long long start; | ||
62 | + start = (unsigned long long) BASEADDR; | ||
63 | + return 0; | ||
64 | +} | ||
65 | +/* { dg-final { scan-assembler "addik\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r0,0x00000000" } } */ | ||
66 | +/* { dg-final { scan-assembler "addik\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r0,0xf0000000" } } */ | ||
67 | -- | ||
68 | 2.17.1 | ||
69 | |||
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0032-Patch-Microblaze-update-in-constraints-for-bitfield-.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0027-Patch-Microblaze-update-in-constraints-for-bitfield-.patch index 458af563..7627b765 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0032-Patch-Microblaze-update-in-constraints-for-bitfield-.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0027-Patch-Microblaze-update-in-constraints-for-bitfield-.patch | |||
@@ -1,15 +1,17 @@ | |||
1 | From 3e8779308d1901b273b2b360bea719aa72d24ab9 Mon Sep 17 00:00:00 2001 | 1 | From 336d984c580345eccdeb889af8ef8c986afc1dad Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Mon, 19 Feb 2018 18:06:16 +0530 | 3 | Date: Mon, 19 Feb 2018 18:06:16 +0530 |
4 | Subject: [PATCH 32/58] [Patch,Microblaze]: update in constraints for bitfield | 4 | Subject: [PATCH 27/54] [Patch,Microblaze]: update in constraints for bitfield |
5 | insert and extract instructions. | 5 | insert and extract instructions. |
6 | 6 | ||
7 | Conflicts: | ||
8 | gcc/config/microblaze/microblaze.md | ||
7 | --- | 9 | --- |
8 | gcc/config/microblaze/microblaze.md | 43 +++++------------------------ | 10 | gcc/config/microblaze/microblaze.md | 45 +++++------------------------ |
9 | 1 file changed, 7 insertions(+), 36 deletions(-) | 11 | 1 file changed, 8 insertions(+), 37 deletions(-) |
10 | 12 | ||
11 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md | 13 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md |
12 | index 9de46d0ce24..fe94807182b 100644 | 14 | index d938efcd762..63ad94b972f 100644 |
13 | --- a/gcc/config/microblaze/microblaze.md | 15 | --- a/gcc/config/microblaze/microblaze.md |
14 | +++ b/gcc/config/microblaze/microblaze.md | 16 | +++ b/gcc/config/microblaze/microblaze.md |
15 | @@ -2492,33 +2492,17 @@ | 17 | @@ -2492,33 +2492,17 @@ |
@@ -22,7 +24,8 @@ index 9de46d0ce24..fe94807182b 100644 | |||
22 | (zero_extract:SI (match_operand:SI 1 "register_operand" "r") | 24 | (zero_extract:SI (match_operand:SI 1 "register_operand" "r") |
23 | (match_operand:SI 2 "immediate_operand" "I") | 25 | (match_operand:SI 2 "immediate_operand" "I") |
24 | (match_operand:SI 3 "immediate_operand" "I")))] | 26 | (match_operand:SI 3 "immediate_operand" "I")))] |
25 | "TARGET_HAS_BITFIELD" | 27 | +"TARGET_HAS_BITFIELD" |
28 | "" | ||
26 | -" | 29 | -" |
27 | -{ | 30 | -{ |
28 | - unsigned HOST_WIDE_INT len = UINTVAL (operands[2]); | 31 | - unsigned HOST_WIDE_INT len = UINTVAL (operands[2]); |
@@ -42,7 +45,6 @@ index 9de46d0ce24..fe94807182b 100644 | |||
42 | - operands[2], operands[3])); | 45 | - operands[2], operands[3])); |
43 | - DONE; | 46 | - DONE; |
44 | -}") | 47 | -}") |
45 | +"" | ||
46 | +) | 48 | +) |
47 | 49 | ||
48 | -(define_insn "extv_32" | 50 | -(define_insn "extv_32" |
@@ -51,10 +53,11 @@ index 9de46d0ce24..fe94807182b 100644 | |||
51 | [(set (match_operand:SI 0 "register_operand" "=r") | 53 | [(set (match_operand:SI 0 "register_operand" "=r") |
52 | (zero_extract:SI (match_operand:SI 1 "register_operand" "r") | 54 | (zero_extract:SI (match_operand:SI 1 "register_operand" "r") |
53 | (match_operand:SI 2 "immediate_operand" "I") | 55 | (match_operand:SI 2 "immediate_operand" "I") |
54 | @@ -2535,21 +2519,8 @@ | 56 | @@ -2534,22 +2518,9 @@ |
57 | (match_operand:SI 1 "immediate_operand" "I") | ||
55 | (match_operand:SI 2 "immediate_operand" "I")) | 58 | (match_operand:SI 2 "immediate_operand" "I")) |
56 | (match_operand:SI 3 "register_operand" "r"))] | 59 | (match_operand:SI 3 "register_operand" "r"))] |
57 | "TARGET_HAS_BITFIELD" | 60 | - "" |
58 | - " | 61 | - " |
59 | -{ | 62 | -{ |
60 | - unsigned HOST_WIDE_INT len = UINTVAL (operands[1]); | 63 | - unsigned HOST_WIDE_INT len = UINTVAL (operands[1]); |
@@ -70,6 +73,7 @@ index 9de46d0ce24..fe94807182b 100644 | |||
70 | - operands[2], operands[3])); | 73 | - operands[2], operands[3])); |
71 | - DONE; | 74 | - DONE; |
72 | -}") | 75 | -}") |
76 | + "TARGET_HAS_BITFIELD" | ||
73 | +"" | 77 | +"" |
74 | +) | 78 | +) |
75 | 79 | ||
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0033-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0028-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch index 32433470..f12cea24 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0033-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0028-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From eb90da1d616dfb7481b3f7c74a2be40e921a24f2 Mon Sep 17 00:00:00 2001 | 1 | From e4f5435e6e77afe0150bf36ec9d3d055cf25a089 Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Mon, 4 Jun 2018 10:10:18 +0530 | 3 | Date: Mon, 4 Jun 2018 10:10:18 +0530 |
4 | Subject: [PATCH 33/58] [Patch,Microblaze] : Removed fsqrt generation for | 4 | Subject: [PATCH 28/54] [Patch,Microblaze] : Removed fsqrt generation for |
5 | double values. | 5 | double values. |
6 | 6 | ||
7 | --- | 7 | --- |
@@ -9,7 +9,7 @@ Subject: [PATCH 33/58] [Patch,Microblaze] : Removed fsqrt generation for | |||
9 | 1 file changed, 14 deletions(-) | 9 | 1 file changed, 14 deletions(-) |
10 | 10 | ||
11 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md | 11 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md |
12 | index fe94807182b..a527da70f8a 100644 | 12 | index 63ad94b972f..7695b105baa 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-10/0034-Intial-commit-of-64-bit-Microblaze.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0029-Patch-MicroBlaze-Intial-commit-of-64-bit-Microblaze.patch index acf14b23..d9603721 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0034-Intial-commit-of-64-bit-Microblaze.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0029-Patch-MicroBlaze-Intial-commit-of-64-bit-Microblaze.patch | |||
@@ -1,24 +1,23 @@ | |||
1 | From 9600049313b095d6d7d8ea46a7ab783fabae71a2 Mon Sep 17 00:00:00 2001 | 1 | From 1a7fda96cb247bad0a4df61cd8fd3e65c0e6f35d Mon Sep 17 00:00:00 2001 |
2 | From: Nagaraju Mekala <nmekala@xilix.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Tue, 3 Apr 2018 16:48:39 +0530 | 3 | Date: Tue, 10 Nov 2020 12:52:54 +0530 |
4 | Subject: [PATCH 34/58] Intial commit of 64-bit Microblaze | 4 | Subject: [PATCH 29/54] [Patch,MicroBlaze]: Intial commit of 64-bit Microblaze |
5 | 5 | ||
6 | Added load store pattern movdi and also adding missing files | ||
7 | --- | 6 | --- |
8 | gcc/config/microblaze/constraints.md | 5 + | 7 | gcc/config/microblaze/constraints.md | 6 + |
9 | gcc/config/microblaze/microblaze-protos.h | 1 + | 8 | gcc/config/microblaze/microblaze-protos.h | 1 + |
10 | gcc/config/microblaze/microblaze.c | 109 ++++-- | 9 | gcc/config/microblaze/microblaze.c | 109 ++++-- |
11 | gcc/config/microblaze/microblaze.h | 4 +- | 10 | gcc/config/microblaze/microblaze.h | 4 +- |
12 | gcc/config/microblaze/microblaze.md | 394 +++++++++++++++++++++- | 11 | gcc/config/microblaze/microblaze.md | 395 +++++++++++++++++++++- |
13 | gcc/config/microblaze/microblaze.opt | 7 +- | 12 | gcc/config/microblaze/microblaze.opt | 7 +- |
14 | gcc/config/microblaze/t-microblaze | 7 +- | 13 | gcc/config/microblaze/t-microblaze | 7 +- |
15 | 7 files changed, 490 insertions(+), 37 deletions(-) | 14 | 7 files changed, 492 insertions(+), 37 deletions(-) |
16 | 15 | ||
17 | diff --git a/gcc/config/microblaze/constraints.md b/gcc/config/microblaze/constraints.md | 16 | diff --git a/gcc/config/microblaze/constraints.md b/gcc/config/microblaze/constraints.md |
18 | index b9fc6e3fae2..f636b035280 100644 | 17 | index b9fc6e3fae2..123395717e0 100644 |
19 | --- a/gcc/config/microblaze/constraints.md | 18 | --- a/gcc/config/microblaze/constraints.md |
20 | +++ b/gcc/config/microblaze/constraints.md | 19 | +++ b/gcc/config/microblaze/constraints.md |
21 | @@ -52,6 +52,11 @@ | 20 | @@ -52,6 +52,12 @@ |
22 | (and (match_code "const_int") | 21 | (and (match_code "const_int") |
23 | (match_test "ival > 0 && ival < 0x10000"))) | 22 | (match_test "ival > 0 && ival < 0x10000"))) |
24 | 23 | ||
@@ -27,11 +26,12 @@ index b9fc6e3fae2..f636b035280 100644 | |||
27 | + (and (match_code "const_int") | 26 | + (and (match_code "const_int") |
28 | + (match_test "ival > (long)0xffffff8000000000L && ival < (long)0x0000007fffffffffL"))) | 27 | + (match_test "ival > (long)0xffffff8000000000L && ival < (long)0x0000007fffffffffL"))) |
29 | + | 28 | + |
29 | + | ||
30 | ;; Define floating point constraints | 30 | ;; Define floating point constraints |
31 | 31 | ||
32 | (define_constraint "G" | 32 | (define_constraint "G" |
33 | diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h | 33 | diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h |
34 | index 76ffc682df2..b8a3321dbdf 100644 | 34 | index c2f88813a8d..460feac4ac5 100644 |
35 | --- a/gcc/config/microblaze/microblaze-protos.h | 35 | --- a/gcc/config/microblaze/microblaze-protos.h |
36 | +++ b/gcc/config/microblaze/microblaze-protos.h | 36 | +++ b/gcc/config/microblaze/microblaze-protos.h |
37 | @@ -36,6 +36,7 @@ extern void microblaze_expand_divide (rtx *); | 37 | @@ -36,6 +36,7 @@ extern void microblaze_expand_divide (rtx *); |
@@ -43,10 +43,10 @@ index 76ffc682df2..b8a3321dbdf 100644 | |||
43 | extern void print_operand (FILE *, rtx, int); | 43 | extern void print_operand (FILE *, rtx, int); |
44 | extern void print_operand_address (FILE *, rtx); | 44 | extern void print_operand_address (FILE *, rtx); |
45 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c | 45 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c |
46 | index 4b5699671e8..8a3ccae558a 100644 | 46 | index 451db9c79b0..99a1cd5c0be 100644 |
47 | --- a/gcc/config/microblaze/microblaze.c | 47 | --- a/gcc/config/microblaze/microblaze.c |
48 | +++ b/gcc/config/microblaze/microblaze.c | 48 | +++ b/gcc/config/microblaze/microblaze.c |
49 | @@ -3562,11 +3562,11 @@ microblaze_expand_move (machine_mode mode, rtx operands[]) | 49 | @@ -3432,11 +3432,11 @@ microblaze_expand_move (machine_mode mode, rtx operands[]) |
50 | op0 = operands[0]; | 50 | op0 = operands[0]; |
51 | op1 = operands[1]; | 51 | op1 = operands[1]; |
52 | 52 | ||
@@ -61,7 +61,7 @@ index 4b5699671e8..8a3ccae558a 100644 | |||
61 | emit_move_insn (op0, temp); | 61 | emit_move_insn (op0, temp); |
62 | return true; | 62 | return true; |
63 | } | 63 | } |
64 | @@ -3631,12 +3631,12 @@ microblaze_expand_move (machine_mode mode, rtx operands[]) | 64 | @@ -3501,12 +3501,12 @@ microblaze_expand_move (machine_mode mode, rtx operands[]) |
65 | && (flag_pic == 2 || microblaze_tls_symbol_p (p0) | 65 | && (flag_pic == 2 || microblaze_tls_symbol_p (p0) |
66 | || !SMALL_INT (p1))))) | 66 | || !SMALL_INT (p1))))) |
67 | { | 67 | { |
@@ -76,7 +76,7 @@ index 4b5699671e8..8a3ccae558a 100644 | |||
76 | return true; | 76 | return true; |
77 | } | 77 | } |
78 | } | 78 | } |
79 | @@ -3767,7 +3767,7 @@ microblaze_expand_conditional_branch (machine_mode mode, rtx operands[]) | 79 | @@ -3637,7 +3637,7 @@ microblaze_expand_conditional_branch (machine_mode mode, rtx operands[]) |
80 | rtx cmp_op0 = operands[1]; | 80 | rtx cmp_op0 = operands[1]; |
81 | rtx cmp_op1 = operands[2]; | 81 | rtx cmp_op1 = operands[2]; |
82 | rtx label1 = operands[3]; | 82 | rtx label1 = operands[3]; |
@@ -85,7 +85,7 @@ index 4b5699671e8..8a3ccae558a 100644 | |||
85 | rtx condition; | 85 | rtx condition; |
86 | 86 | ||
87 | gcc_assert ((GET_CODE (cmp_op0) == REG) || (GET_CODE (cmp_op0) == SUBREG)); | 87 | gcc_assert ((GET_CODE (cmp_op0) == REG) || (GET_CODE (cmp_op0) == SUBREG)); |
88 | @@ -3776,23 +3776,36 @@ microblaze_expand_conditional_branch (machine_mode mode, rtx operands[]) | 88 | @@ -3646,23 +3646,36 @@ microblaze_expand_conditional_branch (machine_mode mode, rtx operands[]) |
89 | if (cmp_op1 == const0_rtx) | 89 | if (cmp_op1 == const0_rtx) |
90 | { | 90 | { |
91 | comp_reg = cmp_op0; | 91 | comp_reg = cmp_op0; |
@@ -128,7 +128,7 @@ index 4b5699671e8..8a3ccae558a 100644 | |||
128 | } | 128 | } |
129 | } | 129 | } |
130 | 130 | ||
131 | @@ -3803,7 +3816,7 @@ microblaze_expand_conditional_branch_reg (machine_mode mode, rtx operands[]) | 131 | @@ -3673,7 +3686,7 @@ microblaze_expand_conditional_branch_reg (machine_mode mode, rtx operands[]) |
132 | rtx cmp_op0 = operands[1]; | 132 | rtx cmp_op0 = operands[1]; |
133 | rtx cmp_op1 = operands[2]; | 133 | rtx cmp_op1 = operands[2]; |
134 | rtx label1 = operands[3]; | 134 | rtx label1 = operands[3]; |
@@ -137,7 +137,7 @@ index 4b5699671e8..8a3ccae558a 100644 | |||
137 | rtx condition; | 137 | rtx condition; |
138 | 138 | ||
139 | gcc_assert ((GET_CODE (cmp_op0) == REG) | 139 | gcc_assert ((GET_CODE (cmp_op0) == REG) |
140 | @@ -3814,30 +3827,63 @@ microblaze_expand_conditional_branch_reg (machine_mode mode, rtx operands[]) | 140 | @@ -3684,30 +3697,63 @@ microblaze_expand_conditional_branch_reg (machine_mode mode, rtx operands[]) |
141 | { | 141 | { |
142 | comp_reg = cmp_op0; | 142 | comp_reg = cmp_op0; |
143 | condition = gen_rtx_fmt_ee (signed_condition (code), | 143 | condition = gen_rtx_fmt_ee (signed_condition (code), |
@@ -213,7 +213,7 @@ index 4b5699671e8..8a3ccae558a 100644 | |||
213 | } | 213 | } |
214 | } | 214 | } |
215 | 215 | ||
216 | @@ -3854,6 +3900,19 @@ microblaze_expand_conditional_branch_sf (rtx operands[]) | 216 | @@ -3724,6 +3770,19 @@ microblaze_expand_conditional_branch_sf (rtx operands[]) |
217 | emit_jump_insn (gen_condjump (condition, operands[3])); | 217 | emit_jump_insn (gen_condjump (condition, operands[3])); |
218 | } | 218 | } |
219 | 219 | ||
@@ -234,7 +234,7 @@ index 4b5699671e8..8a3ccae558a 100644 | |||
234 | 234 | ||
235 | static bool | 235 | static bool |
236 | diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h | 236 | diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h |
237 | index b5b7b22cec9..4931895e650 100644 | 237 | index 857cb1cd9d0..c0358603380 100644 |
238 | --- a/gcc/config/microblaze/microblaze.h | 238 | --- a/gcc/config/microblaze/microblaze.h |
239 | +++ b/gcc/config/microblaze/microblaze.h | 239 | +++ b/gcc/config/microblaze/microblaze.h |
240 | @@ -102,6 +102,7 @@ extern enum pipeline_type microblaze_pipe; | 240 | @@ -102,6 +102,7 @@ extern enum pipeline_type microblaze_pipe; |
@@ -263,7 +263,7 @@ index b5b7b22cec9..4931895e650 100644 | |||
263 | #define FLOAT_TYPE_SIZE 32 | 263 | #define FLOAT_TYPE_SIZE 32 |
264 | #define DOUBLE_TYPE_SIZE 64 | 264 | #define DOUBLE_TYPE_SIZE 64 |
265 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md | 265 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md |
266 | index a527da70f8a..bcf2b9244f8 100644 | 266 | index 7695b105baa..4d8429d9a90 100644 |
267 | --- a/gcc/config/microblaze/microblaze.md | 267 | --- a/gcc/config/microblaze/microblaze.md |
268 | +++ b/gcc/config/microblaze/microblaze.md | 268 | +++ b/gcc/config/microblaze/microblaze.md |
269 | @@ -497,7 +497,6 @@ | 269 | @@ -497,7 +497,6 @@ |
@@ -456,7 +456,7 @@ index a527da70f8a..bcf2b9244f8 100644 | |||
456 | ;; Those for integer source operand are ordered | 456 | ;; Those for integer source operand are ordered |
457 | ;; widest source type first. | 457 | ;; widest source type first. |
458 | 458 | ||
459 | @@ -1011,6 +1122,31 @@ | 459 | @@ -1011,6 +1122,32 @@ |
460 | ) | 460 | ) |
461 | 461 | ||
462 | 462 | ||
@@ -485,10 +485,11 @@ index a527da70f8a..bcf2b9244f8 100644 | |||
485 | + [(set_attr "type" "no_delay_move,no_delay_arith,no_delay_arith,no_delay_load,no_delay_load,no_delay_store,no_delay_store") | 485 | + [(set_attr "type" "no_delay_move,no_delay_arith,no_delay_arith,no_delay_load,no_delay_load,no_delay_store,no_delay_store") |
486 | + (set_attr "mode" "DI") | 486 | + (set_attr "mode" "DI") |
487 | + (set_attr "length" "8,8,8,8,12,8,12")]) | 487 | + (set_attr "length" "8,8,8,8,12,8,12")]) |
488 | + | ||
488 | 489 | ||
489 | (define_insn "*movdi_internal" | 490 | (define_insn "*movdi_internal" |
490 | [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d,d,d,R,o") | 491 | [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d,d,d,R,o") |
491 | @@ -1423,6 +1559,36 @@ | 492 | @@ -1423,6 +1560,36 @@ |
492 | (set_attr "length" "4,4")] | 493 | (set_attr "length" "4,4")] |
493 | ) | 494 | ) |
494 | 495 | ||
@@ -525,7 +526,7 @@ index a527da70f8a..bcf2b9244f8 100644 | |||
525 | ;; The following patterns apply when there is no barrel shifter present | 526 | ;; The following patterns apply when there is no barrel shifter present |
526 | 527 | ||
527 | (define_insn "*ashlsi3_with_mul_delay" | 528 | (define_insn "*ashlsi3_with_mul_delay" |
528 | @@ -1548,6 +1714,36 @@ | 529 | @@ -1548,6 +1715,36 @@ |
529 | ;;---------------------------------------------------------------- | 530 | ;;---------------------------------------------------------------- |
530 | ;; 32-bit right shifts | 531 | ;; 32-bit right shifts |
531 | ;;---------------------------------------------------------------- | 532 | ;;---------------------------------------------------------------- |
@@ -562,7 +563,7 @@ index a527da70f8a..bcf2b9244f8 100644 | |||
562 | (define_expand "ashrsi3" | 563 | (define_expand "ashrsi3" |
563 | [(set (match_operand:SI 0 "register_operand" "=&d") | 564 | [(set (match_operand:SI 0 "register_operand" "=&d") |
564 | (ashiftrt:SI (match_operand:SI 1 "register_operand" "d") | 565 | (ashiftrt:SI (match_operand:SI 1 "register_operand" "d") |
565 | @@ -1657,6 +1853,36 @@ | 566 | @@ -1657,6 +1854,36 @@ |
566 | ;;---------------------------------------------------------------- | 567 | ;;---------------------------------------------------------------- |
567 | ;; 32-bit right shifts (logical) | 568 | ;; 32-bit right shifts (logical) |
568 | ;;---------------------------------------------------------------- | 569 | ;;---------------------------------------------------------------- |
@@ -599,7 +600,7 @@ index a527da70f8a..bcf2b9244f8 100644 | |||
599 | 600 | ||
600 | (define_expand "lshrsi3" | 601 | (define_expand "lshrsi3" |
601 | [(set (match_operand:SI 0 "register_operand" "=&d") | 602 | [(set (match_operand:SI 0 "register_operand" "=&d") |
602 | @@ -1803,6 +2029,8 @@ | 603 | @@ -1803,6 +2030,8 @@ |
603 | (set_attr "length" "4")] | 604 | (set_attr "length" "4")] |
604 | ) | 605 | ) |
605 | 606 | ||
@@ -608,7 +609,7 @@ index a527da70f8a..bcf2b9244f8 100644 | |||
608 | ;;---------------------------------------------------------------- | 609 | ;;---------------------------------------------------------------- |
609 | ;; Setting a register from an floating point comparison. | 610 | ;; Setting a register from an floating point comparison. |
610 | ;;---------------------------------------------------------------- | 611 | ;;---------------------------------------------------------------- |
611 | @@ -1818,6 +2046,18 @@ | 612 | @@ -1818,6 +2047,18 @@ |
612 | (set_attr "length" "4")] | 613 | (set_attr "length" "4")] |
613 | ) | 614 | ) |
614 | 615 | ||
@@ -627,7 +628,7 @@ index a527da70f8a..bcf2b9244f8 100644 | |||
627 | ;;---------------------------------------------------------------- | 628 | ;;---------------------------------------------------------------- |
628 | ;; Conditional branches | 629 | ;; Conditional branches |
629 | ;;---------------------------------------------------------------- | 630 | ;;---------------------------------------------------------------- |
630 | @@ -1930,6 +2170,115 @@ | 631 | @@ -1930,6 +2171,115 @@ |
631 | (set_attr "length" "12")] | 632 | (set_attr "length" "12")] |
632 | ) | 633 | ) |
633 | 634 | ||
@@ -743,7 +744,7 @@ index a527da70f8a..bcf2b9244f8 100644 | |||
743 | ;;---------------------------------------------------------------- | 744 | ;;---------------------------------------------------------------- |
744 | ;; Unconditional branches | 745 | ;; Unconditional branches |
745 | ;;---------------------------------------------------------------- | 746 | ;;---------------------------------------------------------------- |
746 | @@ -2478,17 +2827,33 @@ | 747 | @@ -2478,17 +2828,33 @@ |
747 | DONE; | 748 | DONE; |
748 | }") | 749 | }") |
749 | 750 | ||
@@ -782,7 +783,7 @@ index a527da70f8a..bcf2b9244f8 100644 | |||
782 | [(set (match_operand:SI 0 "register_operand" "=r") | 783 | [(set (match_operand:SI 0 "register_operand" "=r") |
783 | (zero_extract:SI (match_operand:SI 1 "register_operand" "r") | 784 | (zero_extract:SI (match_operand:SI 1 "register_operand" "r") |
784 | (match_operand:SI 2 "immediate_operand" "I") | 785 | (match_operand:SI 2 "immediate_operand" "I") |
785 | @@ -2505,8 +2870,21 @@ | 786 | @@ -2505,8 +2871,21 @@ |
786 | (match_operand:SI 2 "immediate_operand" "I")) | 787 | (match_operand:SI 2 "immediate_operand" "I")) |
787 | (match_operand:SI 3 "register_operand" "r"))] | 788 | (match_operand:SI 3 "register_operand" "r"))] |
788 | "TARGET_HAS_BITFIELD" | 789 | "TARGET_HAS_BITFIELD" |
@@ -822,7 +823,7 @@ index a29c6f8df90..bbe48b06da6 100644 | |||
822 | +MicroBlaze 64-bit mode. | 823 | +MicroBlaze 64-bit mode. |
823 | + | 824 | + |
824 | diff --git a/gcc/config/microblaze/t-microblaze b/gcc/config/microblaze/t-microblaze | 825 | diff --git a/gcc/config/microblaze/t-microblaze b/gcc/config/microblaze/t-microblaze |
825 | index 41fa9a92081..7671f63c5b5 100644 | 826 | index 41fa9a92081..e9a1921ae26 100644 |
826 | --- a/gcc/config/microblaze/t-microblaze | 827 | --- a/gcc/config/microblaze/t-microblaze |
827 | +++ b/gcc/config/microblaze/t-microblaze | 828 | +++ b/gcc/config/microblaze/t-microblaze |
828 | @@ -1,8 +1,11 @@ | 829 | @@ -1,8 +1,11 @@ |
@@ -834,8 +835,8 @@ index 41fa9a92081..7671f63c5b5 100644 | |||
834 | MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/mlittle-endian | 835 | MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/mlittle-endian |
835 | +MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/m64 | 836 | +MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/m64 |
836 | MULTILIB_EXCEPTIONS += mxl-multiply-high/mlittle-endian | 837 | MULTILIB_EXCEPTIONS += mxl-multiply-high/mlittle-endian |
837 | +#MULTILIB_EXCEPTIONS += mxl-multiply-high/m64 | 838 | +MULTILIB_EXCEPTIONS += mxl-multiply-high/m64 |
838 | +#MULTILIB_EXCEPTIONS += *mxl-multiply-high/mlittle-endian/m64 | 839 | +MULTILIB_EXCEPTIONS += *mxl-multiply-high/mlittle-endian/m64 |
839 | 840 | ||
840 | # Extra files | 841 | # Extra files |
841 | microblaze-c.o: $(srcdir)/config/microblaze/microblaze-c.c \ | 842 | microblaze-c.o: $(srcdir)/config/microblaze/microblaze-c.c \ |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0035-Intial-commit-for-64bit-MB-sources.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0030-Intial-commit-for-64bit-MB-sources.patch index e7872d54..88a0d0ba 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0035-Intial-commit-for-64bit-MB-sources.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0030-Intial-commit-for-64bit-MB-sources.patch | |||
@@ -1,16 +1,16 @@ | |||
1 | From 8660e76d664ee4b42a83a4c15344b072d3c879df Mon Sep 17 00:00:00 2001 | 1 | From 53799d63bd26a04265a55f68ca57e3462ed6eeb7 Mon Sep 17 00:00:00 2001 |
2 | From: Nagaraju Mekala <nmekala@xilix.com> | 2 | From: Nagaraju Mekala <nmekala@xilix.com> |
3 | Date: Fri, 27 Jul 2018 15:23:41 +0530 | 3 | Date: Fri, 27 Jul 2018 15:23:41 +0530 |
4 | Subject: [PATCH 35/58] Intial commit for 64bit-MB sources. | 4 | Subject: [PATCH 30/54] Intial commit for 64bit-MB sources. Need to cleanup the |
5 | code later. | ||
5 | 6 | ||
6 | Need to cleanup the code later. | ||
7 | --- | 7 | --- |
8 | gcc/config/microblaze/constraints.md | 2 +- | 8 | gcc/config/microblaze/constraints.md | 2 +- |
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 | 606 ++++++++++++++++++------ |
13 | gcc/config/microblaze/t-microblaze | 7 +- | 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 +- |
16 | libgcc/config/microblaze/divdi3.S | 98 ++++ | 16 | libgcc/config/microblaze/divdi3.S | 98 ++++ |
@@ -20,7 +20,7 @@ Need to cleanup the code later. | |||
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, 1232 insertions(+), 236 deletions(-) | 23 | 15 files changed, 1230 insertions(+), 234 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 @@ Need to cleanup the code later. | |||
29 | create mode 100644 libgcc/config/microblaze/umoddi3.S | 29 | create mode 100644 libgcc/config/microblaze/umoddi3.S |
30 | 30 | ||
31 | diff --git a/gcc/config/microblaze/constraints.md b/gcc/config/microblaze/constraints.md | 31 | diff --git a/gcc/config/microblaze/constraints.md b/gcc/config/microblaze/constraints.md |
32 | index f636b035280..c2b0a21c53b 100644 | 32 | index 123395717e0..b8ef1650f92 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 @@ |
@@ -39,8 +39,8 @@ index f636b035280..c2b0a21c53b 100644 | |||
39 | - (match_test "ival > (long)0xffffff8000000000L && ival < (long)0x0000007fffffffffL"))) | 39 | - (match_test "ival > (long)0xffffff8000000000L && ival < (long)0x0000007fffffffffL"))) |
40 | + (match_test "ival > (long)-549755813888 && ival < (long)549755813887"))) | 40 | + (match_test "ival > (long)-549755813888 && ival < (long)549755813887"))) |
41 | 41 | ||
42 | ;; Define floating point constraints | ||
43 | 42 | ||
43 | ;; Define floating point constraints | ||
44 | diff --git a/gcc/config/microblaze/microblaze-c.c b/gcc/config/microblaze/microblaze-c.c | 44 | diff --git a/gcc/config/microblaze/microblaze-c.c b/gcc/config/microblaze/microblaze-c.c |
45 | index d8c88e510e5..dbcd21fc6ee 100644 | 45 | index d8c88e510e5..dbcd21fc6ee 100644 |
46 | --- a/gcc/config/microblaze/microblaze-c.c | 46 | --- a/gcc/config/microblaze/microblaze-c.c |
@@ -57,7 +57,7 @@ index d8c88e510e5..dbcd21fc6ee 100644 | |||
57 | + } | 57 | + } |
58 | } | 58 | } |
59 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c | 59 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c |
60 | index 8a3ccae558a..3ecda553fe6 100644 | 60 | index 99a1cd5c0be..3c815444574 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) |
@@ -141,7 +141,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
141 | break; | 141 | break; |
142 | 142 | ||
143 | case E_QImode: | 143 | case E_QImode: |
144 | @@ -2285,7 +2299,7 @@ compute_frame_size (HOST_WIDE_INT size) | 144 | @@ -2155,7 +2169,7 @@ compute_frame_size (HOST_WIDE_INT size) |
145 | 145 | ||
146 | if (regno != MB_ABI_SUB_RETURN_ADDR_REGNUM) | 146 | if (regno != MB_ABI_SUB_RETURN_ADDR_REGNUM) |
147 | /* Don't account for link register. It is accounted specially below. */ | 147 | /* Don't account for link register. It is accounted specially below. */ |
@@ -150,7 +150,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
150 | 150 | ||
151 | mask |= (1L << (regno - GP_REG_FIRST)); | 151 | mask |= (1L << (regno - GP_REG_FIRST)); |
152 | } | 152 | } |
153 | @@ -2554,7 +2568,7 @@ print_operand (FILE * file, rtx op, int letter) | 153 | @@ -2424,7 +2438,7 @@ print_operand (FILE * file, rtx op, int letter) |
154 | 154 | ||
155 | if ((letter == 'M' && !WORDS_BIG_ENDIAN) | 155 | if ((letter == 'M' && !WORDS_BIG_ENDIAN) |
156 | || (letter == 'L' && WORDS_BIG_ENDIAN) || letter == 'D') | 156 | || (letter == 'L' && WORDS_BIG_ENDIAN) || letter == 'D') |
@@ -159,7 +159,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
159 | 159 | ||
160 | fprintf (file, "%s", reg_names[regnum]); | 160 | fprintf (file, "%s", reg_names[regnum]); |
161 | } | 161 | } |
162 | @@ -2580,6 +2594,7 @@ print_operand (FILE * file, rtx op, int letter) | 162 | @@ -2450,6 +2464,7 @@ print_operand (FILE * file, rtx op, int letter) |
163 | else if (letter == 'h' || letter == 'j') | 163 | else if (letter == 'h' || letter == 'j') |
164 | { | 164 | { |
165 | long val[2]; | 165 | long val[2]; |
@@ -167,8 +167,8 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
167 | long l[2]; | 167 | long l[2]; |
168 | if (code == CONST_DOUBLE) | 168 | if (code == CONST_DOUBLE) |
169 | { | 169 | { |
170 | @@ -2592,12 +2607,12 @@ print_operand (FILE * file, rtx op, int letter) | 170 | @@ -2462,12 +2477,12 @@ print_operand (FILE * file, rtx op, int letter) |
171 | val[0] = l[WORDS_BIG_ENDIAN != 0]; | 171 | val[0] = l[WORDS_BIG_ENDIAN != 0]; |
172 | } | 172 | } |
173 | } | 173 | } |
174 | - else if (code == CONST_INT) | 174 | - else if (code == CONST_INT) |
@@ -184,7 +184,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
184 | } | 184 | } |
185 | else if (code == CONST_DOUBLE) | 185 | else if (code == CONST_DOUBLE) |
186 | { | 186 | { |
187 | @@ -2791,7 +2806,10 @@ microblaze_asm_constructor (rtx symbol ATTRIBUTE_UNUSED, int priority) | 187 | @@ -2661,7 +2676,10 @@ microblaze_asm_constructor (rtx symbol ATTRIBUTE_UNUSED, int priority) |
188 | 188 | ||
189 | switch_to_section (get_section (section, 0, NULL)); | 189 | switch_to_section (get_section (section, 0, NULL)); |
190 | assemble_align (POINTER_SIZE); | 190 | assemble_align (POINTER_SIZE); |
@@ -196,7 +196,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
196 | output_addr_const (asm_out_file, symbol); | 196 | output_addr_const (asm_out_file, symbol); |
197 | fputs ("\n", asm_out_file); | 197 | fputs ("\n", asm_out_file); |
198 | } | 198 | } |
199 | @@ -2814,7 +2832,10 @@ microblaze_asm_destructor (rtx symbol, int priority) | 199 | @@ -2684,7 +2702,10 @@ microblaze_asm_destructor (rtx symbol, int priority) |
200 | 200 | ||
201 | switch_to_section (get_section (section, 0, NULL)); | 201 | switch_to_section (get_section (section, 0, NULL)); |
202 | assemble_align (POINTER_SIZE); | 202 | assemble_align (POINTER_SIZE); |
@@ -208,7 +208,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
208 | output_addr_const (asm_out_file, symbol); | 208 | output_addr_const (asm_out_file, symbol); |
209 | fputs ("\n", asm_out_file); | 209 | fputs ("\n", asm_out_file); |
210 | } | 210 | } |
211 | @@ -2880,7 +2901,7 @@ save_restore_insns (int prologue) | 211 | @@ -2750,7 +2771,7 @@ save_restore_insns (int prologue) |
212 | /* For interrupt_handlers, need to save/restore the MSR. */ | 212 | /* For interrupt_handlers, need to save/restore the MSR. */ |
213 | if (microblaze_is_interrupt_variant ()) | 213 | if (microblaze_is_interrupt_variant ()) |
214 | { | 214 | { |
@@ -217,7 +217,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
217 | gen_rtx_PLUS (Pmode, base_reg_rtx, | 217 | gen_rtx_PLUS (Pmode, base_reg_rtx, |
218 | GEN_INT (current_frame_info. | 218 | GEN_INT (current_frame_info. |
219 | gp_offset - | 219 | gp_offset - |
220 | @@ -2888,8 +2909,8 @@ save_restore_insns (int prologue) | 220 | @@ -2758,8 +2779,8 @@ save_restore_insns (int prologue) |
221 | 221 | ||
222 | /* Do not optimize in flow analysis. */ | 222 | /* Do not optimize in flow analysis. */ |
223 | MEM_VOLATILE_P (isr_mem_rtx) = 1; | 223 | MEM_VOLATILE_P (isr_mem_rtx) = 1; |
@@ -228,7 +228,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
228 | } | 228 | } |
229 | 229 | ||
230 | if (microblaze_is_interrupt_variant () && !prologue) | 230 | if (microblaze_is_interrupt_variant () && !prologue) |
231 | @@ -2897,8 +2918,8 @@ save_restore_insns (int prologue) | 231 | @@ -2767,8 +2788,8 @@ save_restore_insns (int prologue) |
232 | emit_move_insn (isr_reg_rtx, isr_mem_rtx); | 232 | emit_move_insn (isr_reg_rtx, isr_mem_rtx); |
233 | emit_move_insn (isr_msr_rtx, isr_reg_rtx); | 233 | emit_move_insn (isr_msr_rtx, isr_reg_rtx); |
234 | /* Do not optimize in flow analysis. */ | 234 | /* Do not optimize in flow analysis. */ |
@@ -239,7 +239,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
239 | } | 239 | } |
240 | 240 | ||
241 | for (regno = GP_REG_FIRST; regno <= GP_REG_LAST; regno++) | 241 | for (regno = GP_REG_FIRST; regno <= GP_REG_LAST; regno++) |
242 | @@ -2909,9 +2930,9 @@ save_restore_insns (int prologue) | 242 | @@ -2779,9 +2800,9 @@ save_restore_insns (int prologue) |
243 | /* Don't handle here. Already handled as the first register. */ | 243 | /* Don't handle here. Already handled as the first register. */ |
244 | continue; | 244 | continue; |
245 | 245 | ||
@@ -251,7 +251,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
251 | if (microblaze_is_interrupt_variant () || save_volatiles) | 251 | if (microblaze_is_interrupt_variant () || save_volatiles) |
252 | /* Do not optimize in flow analysis. */ | 252 | /* Do not optimize in flow analysis. */ |
253 | MEM_VOLATILE_P (mem_rtx) = 1; | 253 | MEM_VOLATILE_P (mem_rtx) = 1; |
254 | @@ -2926,7 +2947,7 @@ save_restore_insns (int prologue) | 254 | @@ -2796,7 +2817,7 @@ save_restore_insns (int prologue) |
255 | insn = emit_move_insn (reg_rtx, mem_rtx); | 255 | insn = emit_move_insn (reg_rtx, mem_rtx); |
256 | } | 256 | } |
257 | 257 | ||
@@ -260,7 +260,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
260 | } | 260 | } |
261 | } | 261 | } |
262 | 262 | ||
263 | @@ -2936,8 +2957,8 @@ save_restore_insns (int prologue) | 263 | @@ -2806,8 +2827,8 @@ save_restore_insns (int prologue) |
264 | emit_move_insn (isr_mem_rtx, isr_reg_rtx); | 264 | emit_move_insn (isr_mem_rtx, isr_reg_rtx); |
265 | 265 | ||
266 | /* Do not optimize in flow analysis. */ | 266 | /* Do not optimize in flow analysis. */ |
@@ -271,7 +271,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
271 | } | 271 | } |
272 | 272 | ||
273 | /* Done saving and restoring */ | 273 | /* Done saving and restoring */ |
274 | @@ -3027,7 +3048,10 @@ microblaze_elf_asm_cdtor (rtx symbol, int priority, bool is_ctor) | 274 | @@ -2897,7 +2918,10 @@ microblaze_elf_asm_cdtor (rtx symbol, int priority, bool is_ctor) |
275 | 275 | ||
276 | switch_to_section (s); | 276 | switch_to_section (s); |
277 | assemble_align (POINTER_SIZE); | 277 | assemble_align (POINTER_SIZE); |
@@ -283,7 +283,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
283 | output_addr_const (asm_out_file, symbol); | 283 | output_addr_const (asm_out_file, symbol); |
284 | fputs ("\n", asm_out_file); | 284 | fputs ("\n", asm_out_file); |
285 | } | 285 | } |
286 | @@ -3171,10 +3195,10 @@ microblaze_expand_prologue (void) | 286 | @@ -3041,10 +3065,10 @@ microblaze_expand_prologue (void) |
287 | { | 287 | { |
288 | if (offset != 0) | 288 | if (offset != 0) |
289 | ptr = gen_rtx_PLUS (Pmode, stack_pointer_rtx, GEN_INT (offset)); | 289 | ptr = gen_rtx_PLUS (Pmode, stack_pointer_rtx, GEN_INT (offset)); |
@@ -297,7 +297,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
297 | } | 297 | } |
298 | } | 298 | } |
299 | 299 | ||
300 | @@ -3183,15 +3207,23 @@ microblaze_expand_prologue (void) | 300 | @@ -3053,15 +3077,23 @@ microblaze_expand_prologue (void) |
301 | rtx fsiz_rtx = GEN_INT (fsiz); | 301 | rtx fsiz_rtx = GEN_INT (fsiz); |
302 | 302 | ||
303 | rtx_insn *insn = NULL; | 303 | rtx_insn *insn = NULL; |
@@ -323,7 +323,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
323 | gen_rtx_PLUS (Pmode, stack_pointer_rtx, | 323 | gen_rtx_PLUS (Pmode, stack_pointer_rtx, |
324 | const0_rtx)); | 324 | const0_rtx)); |
325 | 325 | ||
326 | @@ -3199,7 +3231,7 @@ microblaze_expand_prologue (void) | 326 | @@ -3069,7 +3101,7 @@ microblaze_expand_prologue (void) |
327 | /* Do not optimize in flow analysis. */ | 327 | /* Do not optimize in flow analysis. */ |
328 | MEM_VOLATILE_P (mem_rtx) = 1; | 328 | MEM_VOLATILE_P (mem_rtx) = 1; |
329 | 329 | ||
@@ -332,7 +332,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
332 | insn = emit_move_insn (mem_rtx, reg_rtx); | 332 | insn = emit_move_insn (mem_rtx, reg_rtx); |
333 | RTX_FRAME_RELATED_P (insn) = 1; | 333 | RTX_FRAME_RELATED_P (insn) = 1; |
334 | } | 334 | } |
335 | @@ -3309,12 +3341,12 @@ microblaze_expand_epilogue (void) | 335 | @@ -3179,12 +3211,12 @@ microblaze_expand_epilogue (void) |
336 | if (!crtl->is_leaf || interrupt_handler) | 336 | if (!crtl->is_leaf || interrupt_handler) |
337 | { | 337 | { |
338 | mem_rtx = | 338 | mem_rtx = |
@@ -347,7 +347,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
347 | emit_move_insn (reg_rtx, mem_rtx); | 347 | emit_move_insn (reg_rtx, mem_rtx); |
348 | } | 348 | } |
349 | 349 | ||
350 | @@ -3330,15 +3362,25 @@ microblaze_expand_epilogue (void) | 350 | @@ -3200,15 +3232,25 @@ microblaze_expand_epilogue (void) |
351 | /* _restore_ registers for epilogue. */ | 351 | /* _restore_ registers for epilogue. */ |
352 | save_restore_insns (0); | 352 | save_restore_insns (0); |
353 | emit_insn (gen_blockage ()); | 353 | emit_insn (gen_blockage ()); |
@@ -377,7 +377,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
377 | emit_jump_insn (gen_return_internal (gen_rtx_REG (Pmode, GP_REG_FIRST + | 377 | emit_jump_insn (gen_return_internal (gen_rtx_REG (Pmode, GP_REG_FIRST + |
378 | MB_ABI_SUB_RETURN_ADDR_REGNUM))); | 378 | MB_ABI_SUB_RETURN_ADDR_REGNUM))); |
379 | } | 379 | } |
380 | @@ -3505,9 +3547,14 @@ microblaze_asm_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED, | 380 | @@ -3375,9 +3417,14 @@ microblaze_asm_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED, |
381 | else | 381 | else |
382 | this_rtx = gen_rtx_REG (Pmode, MB_ABI_FIRST_ARG_REGNUM); | 382 | this_rtx = gen_rtx_REG (Pmode, MB_ABI_FIRST_ARG_REGNUM); |
383 | 383 | ||
@@ -394,7 +394,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
394 | 394 | ||
395 | /* Apply the offset from the vtable, if required. */ | 395 | /* Apply the offset from the vtable, if required. */ |
396 | if (vcall_offset) | 396 | if (vcall_offset) |
397 | @@ -3520,7 +3567,10 @@ microblaze_asm_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED, | 397 | @@ -3390,7 +3437,10 @@ microblaze_asm_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED, |
398 | rtx loc = gen_rtx_PLUS (Pmode, temp1, vcall_offset_rtx); | 398 | rtx loc = gen_rtx_PLUS (Pmode, temp1, vcall_offset_rtx); |
399 | emit_move_insn (temp1, gen_rtx_MEM (Pmode, loc)); | 399 | emit_move_insn (temp1, gen_rtx_MEM (Pmode, loc)); |
400 | 400 | ||
@@ -406,7 +406,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
406 | } | 406 | } |
407 | 407 | ||
408 | /* Generate a tail call to the target function. */ | 408 | /* Generate a tail call to the target function. */ |
409 | @@ -3696,7 +3746,7 @@ microblaze_eh_return (rtx op0) | 409 | @@ -3566,7 +3616,7 @@ microblaze_eh_return (rtx op0) |
410 | /* Queue an .ident string in the queue of top-level asm statements. | 410 | /* Queue an .ident string in the queue of top-level asm statements. |
411 | If the string size is below the threshold, put it into .sdata2. | 411 | If the string size is below the threshold, put it into .sdata2. |
412 | If the front-end is done, we must be being called from toplev.c. | 412 | If the front-end is done, we must be being called from toplev.c. |
@@ -415,7 +415,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
415 | void | 415 | void |
416 | microblaze_asm_output_ident (const char *string) | 416 | microblaze_asm_output_ident (const char *string) |
417 | { | 417 | { |
418 | @@ -3751,9 +3801,9 @@ microblaze_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value) | 418 | @@ -3621,9 +3671,9 @@ microblaze_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value) |
419 | emit_block_move (m_tramp, assemble_trampoline_template (), | 419 | emit_block_move (m_tramp, assemble_trampoline_template (), |
420 | GEN_INT (6*UNITS_PER_WORD), BLOCK_OP_NORMAL); | 420 | GEN_INT (6*UNITS_PER_WORD), BLOCK_OP_NORMAL); |
421 | 421 | ||
@@ -427,7 +427,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
427 | emit_move_insn (mem, fnaddr); | 427 | emit_move_insn (mem, fnaddr); |
428 | } | 428 | } |
429 | 429 | ||
430 | @@ -3777,7 +3827,7 @@ microblaze_expand_conditional_branch (machine_mode mode, rtx operands[]) | 430 | @@ -3647,7 +3697,7 @@ microblaze_expand_conditional_branch (machine_mode mode, rtx operands[]) |
431 | { | 431 | { |
432 | comp_reg = cmp_op0; | 432 | comp_reg = cmp_op0; |
433 | condition = gen_rtx_fmt_ee (signed_condition (code), mode, comp_reg, const0_rtx); | 433 | condition = gen_rtx_fmt_ee (signed_condition (code), mode, comp_reg, const0_rtx); |
@@ -436,7 +436,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
436 | emit_jump_insn (gen_condjump (condition, label1)); | 436 | emit_jump_insn (gen_condjump (condition, label1)); |
437 | else | 437 | else |
438 | emit_jump_insn (gen_long_condjump (condition, label1)); | 438 | emit_jump_insn (gen_long_condjump (condition, label1)); |
439 | @@ -3896,7 +3946,7 @@ microblaze_expand_conditional_branch_sf (rtx operands[]) | 439 | @@ -3766,7 +3816,7 @@ microblaze_expand_conditional_branch_sf (rtx operands[]) |
440 | rtx comp_reg = gen_reg_rtx (SImode); | 440 | rtx comp_reg = gen_reg_rtx (SImode); |
441 | 441 | ||
442 | emit_insn (gen_cstoresf4 (comp_reg, operands[0], cmp_op0, cmp_op1)); | 442 | emit_insn (gen_cstoresf4 (comp_reg, operands[0], cmp_op0, cmp_op1)); |
@@ -445,7 +445,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
445 | emit_jump_insn (gen_condjump (condition, operands[3])); | 445 | emit_jump_insn (gen_condjump (condition, operands[3])); |
446 | } | 446 | } |
447 | 447 | ||
448 | @@ -3906,10 +3956,10 @@ microblaze_expand_conditional_branch_df (rtx operands[]) | 448 | @@ -3776,10 +3826,10 @@ microblaze_expand_conditional_branch_df (rtx operands[]) |
449 | rtx condition; | 449 | rtx condition; |
450 | rtx cmp_op0 = XEXP (operands[0], 0); | 450 | rtx cmp_op0 = XEXP (operands[0], 0); |
451 | rtx cmp_op1 = XEXP (operands[0], 1); | 451 | rtx cmp_op1 = XEXP (operands[0], 1); |
@@ -458,7 +458,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
458 | emit_jump_insn (gen_long_condjump (condition, operands[3])); | 458 | emit_jump_insn (gen_long_condjump (condition, operands[3])); |
459 | } | 459 | } |
460 | 460 | ||
461 | @@ -3930,8 +3980,8 @@ microblaze_expand_divide (rtx operands[]) | 461 | @@ -3800,8 +3850,8 @@ microblaze_expand_divide (rtx operands[]) |
462 | { | 462 | { |
463 | /* Table lookup software divides. Works for all (nr/dr) where (0 <= nr,dr <= 15). */ | 463 | /* Table lookup software divides. Works for all (nr/dr) where (0 <= nr,dr <= 15). */ |
464 | 464 | ||
@@ -469,7 +469,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
469 | rtx regqi = gen_reg_rtx (QImode); | 469 | rtx regqi = gen_reg_rtx (QImode); |
470 | rtx_code_label *div_label = gen_label_rtx (); | 470 | rtx_code_label *div_label = gen_label_rtx (); |
471 | rtx_code_label *div_end_label = gen_label_rtx (); | 471 | rtx_code_label *div_end_label = gen_label_rtx (); |
472 | @@ -3939,17 +3989,31 @@ microblaze_expand_divide (rtx operands[]) | 472 | @@ -3809,17 +3859,31 @@ microblaze_expand_divide (rtx operands[]) |
473 | rtx mem_rtx; | 473 | rtx mem_rtx; |
474 | rtx ret; | 474 | rtx ret; |
475 | rtx_insn *jump, *cjump, *insn; | 475 | rtx_insn *jump, *cjump, *insn; |
@@ -508,7 +508,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
508 | mem_rtx = gen_rtx_MEM (QImode, | 508 | mem_rtx = gen_rtx_MEM (QImode, |
509 | gen_rtx_PLUS (QImode, regt1, div_table_rtx)); | 509 | gen_rtx_PLUS (QImode, regt1, div_table_rtx)); |
510 | 510 | ||
511 | @@ -4096,7 +4160,7 @@ insert_wic_for_ilb_runout (rtx_insn *first) | 511 | @@ -3966,7 +4030,7 @@ insert_wic_for_ilb_runout (rtx_insn *first) |
512 | { | 512 | { |
513 | insn = | 513 | insn = |
514 | emit_insn_before (gen_iprefetch | 514 | emit_insn_before (gen_iprefetch |
@@ -517,7 +517,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
517 | before_4); | 517 | before_4); |
518 | recog_memoized (insn); | 518 | recog_memoized (insn); |
519 | INSN_LOCATION (insn) = INSN_LOCATION (before_4); | 519 | INSN_LOCATION (insn) = INSN_LOCATION (before_4); |
520 | @@ -4106,7 +4170,27 @@ insert_wic_for_ilb_runout (rtx_insn *first) | 520 | @@ -3976,7 +4040,27 @@ insert_wic_for_ilb_runout (rtx_insn *first) |
521 | } | 521 | } |
522 | } | 522 | } |
523 | } | 523 | } |
@@ -546,7 +546,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
546 | /* Insert instruction prefetch instruction at the fall | 546 | /* Insert instruction prefetch instruction at the fall |
547 | through path of the function call. */ | 547 | through path of the function call. */ |
548 | 548 | ||
549 | @@ -4259,6 +4343,17 @@ microblaze_starting_frame_offset (void) | 549 | @@ -4129,6 +4213,17 @@ microblaze_starting_frame_offset (void) |
550 | #undef TARGET_LRA_P | 550 | #undef TARGET_LRA_P |
551 | #define TARGET_LRA_P hook_bool_void_false | 551 | #define TARGET_LRA_P hook_bool_void_false |
552 | 552 | ||
@@ -564,7 +564,7 @@ index 8a3ccae558a..3ecda553fe6 100644 | |||
564 | #undef TARGET_FRAME_POINTER_REQUIRED | 564 | #undef TARGET_FRAME_POINTER_REQUIRED |
565 | #define TARGET_FRAME_POINTER_REQUIRED microblaze_frame_pointer_required | 565 | #define TARGET_FRAME_POINTER_REQUIRED microblaze_frame_pointer_required |
566 | 566 | ||
567 | @@ -4268,6 +4363,9 @@ microblaze_starting_frame_offset (void) | 567 | @@ -4138,6 +4233,9 @@ microblaze_starting_frame_offset (void) |
568 | #undef TARGET_TRAMPOLINE_INIT | 568 | #undef TARGET_TRAMPOLINE_INIT |
569 | #define TARGET_TRAMPOLINE_INIT microblaze_trampoline_init | 569 | #define TARGET_TRAMPOLINE_INIT microblaze_trampoline_init |
570 | 570 | ||
@@ -575,7 +575,7 @@ index 8a3ccae558a..3ecda553fe6 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 | ||
577 | diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h | 577 | diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h |
578 | index 4931895e650..1f6e2059545 100644 | 578 | index c0358603380..f6ad4d9fc21 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; |
@@ -672,9 +672,9 @@ index 4931895e650..1f6e2059545 100644 | |||
672 | #define ARG_POINTER_CFA_OFFSET(FNDECL) 0 | 672 | #define ARG_POINTER_CFA_OFFSET(FNDECL) 0 |
673 | +#define DWARF_CIE_DATA_ALIGNMENT -1 | 673 | +#define DWARF_CIE_DATA_ALIGNMENT -1 |
674 | 674 | ||
675 | #define REG_PARM_STACK_SPACE(FNDECL) microblaze_reg_parm_stack_space(FNDECL) | 675 | #define REG_PARM_STACK_SPACE(FNDECL) (MAX_ARGS_IN_REGISTERS * UNITS_PER_WORD) |
676 | 676 | ||
677 | #define OUTGOING_REG_PARM_STACK_SPACE(FNTYPE) 1 | 677 | #define OUTGOING_REG_PARM_STACK_SPACE(FNTYPE) 1 |
678 | 678 | ||
679 | -#define STACK_BOUNDARY 32 | 679 | -#define STACK_BOUNDARY 32 |
680 | +#define STACK_BOUNDARY (TARGET_MB_64 ? 64 : 32) | 680 | +#define STACK_BOUNDARY (TARGET_MB_64 ? 64 : 32) |
@@ -744,7 +744,7 @@ index 4931895e650..1f6e2059545 100644 | |||
744 | /* Default to -G 8 */ | 744 | /* Default to -G 8 */ |
745 | #ifndef MICROBLAZE_DEFAULT_GVALUE | 745 | #ifndef MICROBLAZE_DEFAULT_GVALUE |
746 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md | 746 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md |
747 | index bcf2b9244f8..bef750c026a 100644 | 747 | index 4d8429d9a90..33a8b12ef3b 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 bcf2b9244f8..bef750c026a 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,68 +1135,117 @@ | 1057 | @@ -1090,69 +1135,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. |
@@ -1200,6 +1200,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1200 | + (set_attr "length" "4,4,12,4,8,4,8")]) | 1200 | + (set_attr "length" "4,4,12,4,8,4,8")]) |
1201 | + | 1201 | + |
1202 | 1202 | ||
1203 | |||
1203 | (define_insn "*movdi_internal" | 1204 | (define_insn "*movdi_internal" |
1204 | [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d,d,d,R,o") | 1205 | [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d,d,d,R,o") |
1205 | (match_operand:DI 1 "general_operand" " d,i,J,R,o,d,d"))] | 1206 | (match_operand:DI 1 "general_operand" " d,i,J,R,o,d,d"))] |
@@ -1208,7 +1209,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1208 | { | 1209 | { |
1209 | switch (which_alternative) | 1210 | switch (which_alternative) |
1210 | { | 1211 | { |
1211 | @@ -1183,7 +1277,8 @@ | 1212 | @@ -1184,7 +1278,8 @@ |
1212 | "reload_completed | 1213 | "reload_completed |
1213 | && GET_CODE (operands[0]) == REG && GP_REG_P (REGNO (operands[0])) | 1214 | && GET_CODE (operands[0]) == REG && GP_REG_P (REGNO (operands[0])) |
1214 | && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1])) | 1215 | && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1])) |
@@ -1218,7 +1219,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1218 | 1219 | ||
1219 | [(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)) |
1220 | (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))] |
1221 | @@ -1195,12 +1290,22 @@ | 1222 | @@ -1196,12 +1291,22 @@ |
1222 | "reload_completed | 1223 | "reload_completed |
1223 | && GET_CODE (operands[0]) == REG && GP_REG_P (REGNO (operands[0])) | 1224 | && GET_CODE (operands[0]) == REG && GP_REG_P (REGNO (operands[0])) |
1224 | && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1])) | 1225 | && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1])) |
@@ -1242,7 +1243,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1242 | ;; 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 |
1243 | ;; different predicates, because register spilling and other parts of | 1244 | ;; different predicates, because register spilling and other parts of |
1244 | ;; the compiler, have memoized the insn number already. | 1245 | ;; the compiler, have memoized the insn number already. |
1245 | @@ -1272,6 +1377,8 @@ | 1246 | @@ -1273,6 +1378,8 @@ |
1246 | (set_attr "length" "4,4,8,4,8,4,8")]) | 1247 | (set_attr "length" "4,4,8,4,8,4,8")]) |
1247 | 1248 | ||
1248 | 1249 | ||
@@ -1251,7 +1252,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1251 | ;; 16-bit Integer moves | 1252 | ;; 16-bit Integer moves |
1252 | 1253 | ||
1253 | ;; 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 |
1254 | @@ -1304,8 +1411,8 @@ | 1255 | @@ -1305,8 +1412,8 @@ |
1255 | "@ | 1256 | "@ |
1256 | addik\t%0,r0,%1\t# %X1 | 1257 | addik\t%0,r0,%1\t# %X1 |
1257 | addk\t%0,%1,r0 | 1258 | addk\t%0,%1,r0 |
@@ -1262,7 +1263,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1262 | sh%i0\t%z1,%0 | 1263 | sh%i0\t%z1,%0 |
1263 | sh%i0\t%z1,%0" | 1264 | sh%i0\t%z1,%0" |
1264 | [(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") |
1265 | @@ -1348,7 +1455,7 @@ | 1266 | @@ -1349,7 +1456,7 @@ |
1266 | lbu%i1\t%0,%1 | 1267 | lbu%i1\t%0,%1 |
1267 | lbu%i1\t%0,%1 | 1268 | lbu%i1\t%0,%1 |
1268 | sb%i0\t%z1,%0 | 1269 | sb%i0\t%z1,%0 |
@@ -1271,7 +1272,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1271 | [(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") |
1272 | (set_attr "mode" "QI") | 1273 | (set_attr "mode" "QI") |
1273 | (set_attr "length" "4,4,8,4,8,4,8")]) | 1274 | (set_attr "length" "4,4,8,4,8,4,8")]) |
1274 | @@ -1421,7 +1528,7 @@ | 1275 | @@ -1422,7 +1529,7 @@ |
1275 | addik\t%0,r0,%F1 | 1276 | addik\t%0,r0,%F1 |
1276 | lw%i1\t%0,%1 | 1277 | lw%i1\t%0,%1 |
1277 | sw%i0\t%z1,%0 | 1278 | sw%i0\t%z1,%0 |
@@ -1280,7 +1281,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1280 | [(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") |
1281 | (set_attr "mode" "SF") | 1282 | (set_attr "mode" "SF") |
1282 | (set_attr "length" "4,4,4,4,4,4,4")]) | 1283 | (set_attr "length" "4,4,4,4,4,4,4")]) |
1283 | @@ -1460,6 +1567,33 @@ | 1284 | @@ -1461,6 +1568,33 @@ |
1284 | ;; movdf_internal | 1285 | ;; movdf_internal |
1285 | ;; Applies to both TARGET_SOFT_FLOAT and TARGET_HARD_FLOAT | 1286 | ;; Applies to both TARGET_SOFT_FLOAT and TARGET_HARD_FLOAT |
1286 | ;; | 1287 | ;; |
@@ -1314,7 +1315,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1314 | (define_insn "*movdf_internal" | 1315 | (define_insn "*movdf_internal" |
1315 | [(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") |
1316 | (match_operand:DF 1 "general_operand" "dG,o,F,T,d"))] | 1317 | (match_operand:DF 1 "general_operand" "dG,o,F,T,d"))] |
1317 | @@ -1494,7 +1628,8 @@ | 1318 | @@ -1495,7 +1629,8 @@ |
1318 | "reload_completed | 1319 | "reload_completed |
1319 | && GET_CODE (operands[0]) == REG && GP_REG_P (REGNO (operands[0])) | 1320 | && GET_CODE (operands[0]) == REG && GP_REG_P (REGNO (operands[0])) |
1320 | && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1])) | 1321 | && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1])) |
@@ -1324,7 +1325,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1324 | [(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)) |
1325 | (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))] |
1326 | "") | 1327 | "") |
1327 | @@ -1505,7 +1640,8 @@ | 1328 | @@ -1506,7 +1641,8 @@ |
1328 | "reload_completed | 1329 | "reload_completed |
1329 | && GET_CODE (operands[0]) == REG && GP_REG_P (REGNO (operands[0])) | 1330 | && GET_CODE (operands[0]) == REG && GP_REG_P (REGNO (operands[0])) |
1330 | && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1])) | 1331 | && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1])) |
@@ -1334,7 +1335,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1334 | [(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)) |
1335 | (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))] |
1336 | "") | 1337 | "") |
1337 | @@ -2005,6 +2141,31 @@ else | 1338 | @@ -2006,6 +2142,31 @@ else |
1338 | " | 1339 | " |
1339 | ) | 1340 | ) |
1340 | 1341 | ||
@@ -1366,7 +1367,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1366 | (define_insn "seq_internal_pat" | 1367 | (define_insn "seq_internal_pat" |
1367 | [(set (match_operand:SI 0 "register_operand" "=d") | 1368 | [(set (match_operand:SI 0 "register_operand" "=d") |
1368 | (eq:SI | 1369 | (eq:SI |
1369 | @@ -2065,8 +2226,8 @@ else | 1370 | @@ -2066,8 +2227,8 @@ else |
1370 | (define_expand "cbranchsi4" | 1371 | (define_expand "cbranchsi4" |
1371 | [(set (pc) | 1372 | [(set (pc) |
1372 | (if_then_else (match_operator 0 "ordered_comparison_operator" | 1373 | (if_then_else (match_operator 0 "ordered_comparison_operator" |
@@ -1377,7 +1378,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1377 | (label_ref (match_operand 3 "")) | 1378 | (label_ref (match_operand 3 "")) |
1378 | (pc)))] | 1379 | (pc)))] |
1379 | "" | 1380 | "" |
1380 | @@ -2078,13 +2239,13 @@ else | 1381 | @@ -2079,13 +2240,13 @@ else |
1381 | (define_expand "cbranchsi4_reg" | 1382 | (define_expand "cbranchsi4_reg" |
1382 | [(set (pc) | 1383 | [(set (pc) |
1383 | (if_then_else (match_operator 0 "ordered_comparison_operator" | 1384 | (if_then_else (match_operator 0 "ordered_comparison_operator" |
@@ -1394,7 +1395,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1394 | DONE; | 1395 | DONE; |
1395 | }) | 1396 | }) |
1396 | 1397 | ||
1397 | @@ -2109,6 +2270,26 @@ else | 1398 | @@ -2110,6 +2271,26 @@ else |
1398 | (label_ref (match_operand 1)) | 1399 | (label_ref (match_operand 1)) |
1399 | (pc)))]) | 1400 | (pc)))]) |
1400 | 1401 | ||
@@ -1421,7 +1422,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1421 | (define_insn "branch_zero" | 1422 | (define_insn "branch_zero" |
1422 | [(set (pc) | 1423 | [(set (pc) |
1423 | (if_then_else (match_operator:SI 0 "ordered_comparison_operator" | 1424 | (if_then_else (match_operator:SI 0 "ordered_comparison_operator" |
1424 | @@ -2129,6 +2310,47 @@ else | 1425 | @@ -2130,6 +2311,47 @@ else |
1425 | (set_attr "length" "4")] | 1426 | (set_attr "length" "4")] |
1426 | ) | 1427 | ) |
1427 | 1428 | ||
@@ -1469,7 +1470,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1469 | (define_insn "branch_compare" | 1470 | (define_insn "branch_compare" |
1470 | [(set (pc) | 1471 | [(set (pc) |
1471 | (if_then_else (match_operator:SI 0 "cmp_op" | 1472 | (if_then_else (match_operator:SI 0 "cmp_op" |
1472 | @@ -2312,7 +2534,7 @@ else | 1473 | @@ -2313,7 +2535,7 @@ else |
1473 | ;; Indirect jumps. Jump to register values. Assuming absolute jumps | 1474 | ;; Indirect jumps. Jump to register values. Assuming absolute jumps |
1474 | 1475 | ||
1475 | (define_insn "indirect_jump_internal1" | 1476 | (define_insn "indirect_jump_internal1" |
@@ -1478,7 +1479,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1478 | "" | 1479 | "" |
1479 | "bra%?\t%0" | 1480 | "bra%?\t%0" |
1480 | [(set_attr "type" "jump") | 1481 | [(set_attr "type" "jump") |
1481 | @@ -2325,7 +2547,7 @@ else | 1482 | @@ -2326,7 +2548,7 @@ else |
1482 | (use (label_ref (match_operand 1 "" "")))] | 1483 | (use (label_ref (match_operand 1 "" "")))] |
1483 | "" | 1484 | "" |
1484 | { | 1485 | { |
@@ -1487,7 +1488,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1487 | 1488 | ||
1488 | if (!flag_pic || TARGET_PIC_DATA_TEXT_REL) | 1489 | if (!flag_pic || TARGET_PIC_DATA_TEXT_REL) |
1489 | emit_jump_insn (gen_tablejump_internal1 (operands[0], operands[1])); | 1490 | emit_jump_insn (gen_tablejump_internal1 (operands[0], operands[1])); |
1490 | @@ -2337,7 +2559,7 @@ else | 1491 | @@ -2338,7 +2560,7 @@ else |
1491 | 1492 | ||
1492 | (define_insn "tablejump_internal1" | 1493 | (define_insn "tablejump_internal1" |
1493 | [(set (pc) | 1494 | [(set (pc) |
@@ -1496,7 +1497,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1496 | (use (label_ref (match_operand 1 "" "")))] | 1497 | (use (label_ref (match_operand 1 "" "")))] |
1497 | "" | 1498 | "" |
1498 | "bra%?\t%0 " | 1499 | "bra%?\t%0 " |
1499 | @@ -2347,9 +2569,9 @@ else | 1500 | @@ -2348,9 +2570,9 @@ else |
1500 | 1501 | ||
1501 | (define_expand "tablejump_internal3" | 1502 | (define_expand "tablejump_internal3" |
1502 | [(parallel [(set (pc) | 1503 | [(parallel [(set (pc) |
@@ -1509,7 +1510,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1509 | "" | 1510 | "" |
1510 | "" | 1511 | "" |
1511 | ) | 1512 | ) |
1512 | @@ -2410,7 +2632,7 @@ else | 1513 | @@ -2411,7 +2633,7 @@ else |
1513 | (minus (reg 1) (match_operand 1 "register_operand" ""))) | 1514 | (minus (reg 1) (match_operand 1 "register_operand" ""))) |
1514 | (set (reg 1) | 1515 | (set (reg 1) |
1515 | (minus (reg 1) (match_dup 1)))] | 1516 | (minus (reg 1) (match_dup 1)))] |
@@ -1518,7 +1519,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1518 | { | 1519 | { |
1519 | rtx retaddr = gen_rtx_MEM (Pmode, stack_pointer_rtx); | 1520 | rtx retaddr = gen_rtx_MEM (Pmode, stack_pointer_rtx); |
1520 | rtx reg = gen_reg_rtx (Pmode); | 1521 | rtx reg = gen_reg_rtx (Pmode); |
1521 | @@ -2435,7 +2657,7 @@ else | 1522 | @@ -2436,7 +2658,7 @@ else |
1522 | (define_expand "save_stack_block" | 1523 | (define_expand "save_stack_block" |
1523 | [(match_operand 0 "register_operand" "") | 1524 | [(match_operand 0 "register_operand" "") |
1524 | (match_operand 1 "register_operand" "")] | 1525 | (match_operand 1 "register_operand" "")] |
@@ -1527,7 +1528,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1527 | { | 1528 | { |
1528 | emit_move_insn (operands[0], operands[1]); | 1529 | emit_move_insn (operands[0], operands[1]); |
1529 | DONE; | 1530 | DONE; |
1530 | @@ -2445,7 +2667,7 @@ else | 1531 | @@ -2446,7 +2668,7 @@ else |
1531 | (define_expand "restore_stack_block" | 1532 | (define_expand "restore_stack_block" |
1532 | [(match_operand 0 "register_operand" "") | 1533 | [(match_operand 0 "register_operand" "") |
1533 | (match_operand 1 "register_operand" "")] | 1534 | (match_operand 1 "register_operand" "")] |
@@ -1536,7 +1537,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1536 | { | 1537 | { |
1537 | rtx retaddr = gen_rtx_MEM (Pmode, stack_pointer_rtx); | 1538 | rtx retaddr = gen_rtx_MEM (Pmode, stack_pointer_rtx); |
1538 | rtx rtmp = gen_rtx_REG (SImode, R_TMP); | 1539 | rtx rtmp = gen_rtx_REG (SImode, R_TMP); |
1539 | @@ -2492,7 +2714,7 @@ else | 1540 | @@ -2493,7 +2715,7 @@ else |
1540 | 1541 | ||
1541 | (define_insn "<optab>_internal" | 1542 | (define_insn "<optab>_internal" |
1542 | [(any_return) | 1543 | [(any_return) |
@@ -1545,7 +1546,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1545 | "" | 1546 | "" |
1546 | { | 1547 | { |
1547 | if (microblaze_is_break_handler ()) | 1548 | if (microblaze_is_break_handler ()) |
1548 | @@ -2525,7 +2747,7 @@ else | 1549 | @@ -2526,7 +2748,7 @@ else |
1549 | (define_expand "call" | 1550 | (define_expand "call" |
1550 | [(parallel [(call (match_operand 0 "memory_operand" "m") | 1551 | [(parallel [(call (match_operand 0 "memory_operand" "m") |
1551 | (match_operand 1 "" "i")) | 1552 | (match_operand 1 "" "i")) |
@@ -1554,7 +1555,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1554 | (use (match_operand 2 "" "")) | 1555 | (use (match_operand 2 "" "")) |
1555 | (use (match_operand 3 "" ""))])] | 1556 | (use (match_operand 3 "" ""))])] |
1556 | "" | 1557 | "" |
1557 | @@ -2546,12 +2768,12 @@ else | 1558 | @@ -2547,12 +2769,12 @@ else |
1558 | 1559 | ||
1559 | if (GET_CODE (XEXP (operands[0], 0)) == UNSPEC) | 1560 | if (GET_CODE (XEXP (operands[0], 0)) == UNSPEC) |
1560 | emit_call_insn (gen_call_internal_plt0 (operands[0], operands[1], | 1561 | emit_call_insn (gen_call_internal_plt0 (operands[0], operands[1], |
@@ -1569,7 +1570,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1569 | GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM))); | 1570 | GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM))); |
1570 | 1571 | ||
1571 | DONE; | 1572 | DONE; |
1572 | @@ -2561,7 +2783,7 @@ else | 1573 | @@ -2562,7 +2784,7 @@ else |
1573 | (define_expand "call_internal0" | 1574 | (define_expand "call_internal0" |
1574 | [(parallel [(call (match_operand 0 "" "") | 1575 | [(parallel [(call (match_operand 0 "" "") |
1575 | (match_operand 1 "" "")) | 1576 | (match_operand 1 "" "")) |
@@ -1578,7 +1579,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1578 | "" | 1579 | "" |
1579 | { | 1580 | { |
1580 | } | 1581 | } |
1581 | @@ -2570,18 +2792,34 @@ else | 1582 | @@ -2571,18 +2793,34 @@ else |
1582 | (define_expand "call_internal_plt0" | 1583 | (define_expand "call_internal_plt0" |
1583 | [(parallel [(call (match_operand 0 "" "") | 1584 | [(parallel [(call (match_operand 0 "" "") |
1584 | (match_operand 1 "" "")) | 1585 | (match_operand 1 "" "")) |
@@ -1619,7 +1620,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1619 | "flag_pic" | 1620 | "flag_pic" |
1620 | { | 1621 | { |
1621 | register rtx target2 = gen_rtx_REG (Pmode, | 1622 | register rtx target2 = gen_rtx_REG (Pmode, |
1622 | @@ -2593,10 +2831,41 @@ else | 1623 | @@ -2594,10 +2832,41 @@ else |
1623 | (set_attr "mode" "none") | 1624 | (set_attr "mode" "none") |
1624 | (set_attr "length" "4")]) | 1625 | (set_attr "length" "4")]) |
1625 | 1626 | ||
@@ -1663,7 +1664,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1663 | "" | 1664 | "" |
1664 | { | 1665 | { |
1665 | register rtx target = operands[0]; | 1666 | register rtx target = operands[0]; |
1666 | @@ -2630,7 +2899,7 @@ else | 1667 | @@ -2631,7 +2900,7 @@ else |
1667 | [(parallel [(set (match_operand 0 "register_operand" "=d") | 1668 | [(parallel [(set (match_operand 0 "register_operand" "=d") |
1668 | (call (match_operand 1 "memory_operand" "m") | 1669 | (call (match_operand 1 "memory_operand" "m") |
1669 | (match_operand 2 "" "i"))) | 1670 | (match_operand 2 "" "i"))) |
@@ -1672,7 +1673,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1672 | (use (match_operand 3 "" ""))])] ;; next_arg_reg | 1673 | (use (match_operand 3 "" ""))])] ;; next_arg_reg |
1673 | "" | 1674 | "" |
1674 | { | 1675 | { |
1675 | @@ -2651,13 +2920,13 @@ else | 1676 | @@ -2652,13 +2921,13 @@ else |
1676 | if (GET_CODE (XEXP (operands[1], 0)) == UNSPEC) | 1677 | if (GET_CODE (XEXP (operands[1], 0)) == UNSPEC) |
1677 | 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], |
1678 | operands[2], | 1679 | operands[2], |
@@ -1688,7 +1689,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1688 | GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM))); | 1689 | GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM))); |
1689 | 1690 | ||
1690 | DONE; | 1691 | DONE; |
1691 | @@ -2669,7 +2938,7 @@ else | 1692 | @@ -2670,7 +2939,7 @@ else |
1692 | [(parallel [(set (match_operand 0 "" "") | 1693 | [(parallel [(set (match_operand 0 "" "") |
1693 | (call (match_operand 1 "" "") | 1694 | (call (match_operand 1 "" "") |
1694 | (match_operand 2 "" ""))) | 1695 | (match_operand 2 "" ""))) |
@@ -1697,7 +1698,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1697 | ])] | 1698 | ])] |
1698 | "" | 1699 | "" |
1699 | {} | 1700 | {} |
1700 | @@ -2679,18 +2948,35 @@ else | 1701 | @@ -2680,18 +2949,35 @@ else |
1701 | [(parallel[(set (match_operand 0 "" "") | 1702 | [(parallel[(set (match_operand 0 "" "") |
1702 | (call (match_operand 1 "" "") | 1703 | (call (match_operand 1 "" "") |
1703 | (match_operand 2 "" ""))) | 1704 | (match_operand 2 "" ""))) |
@@ -1739,7 +1740,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1739 | "flag_pic" | 1740 | "flag_pic" |
1740 | { | 1741 | { |
1741 | 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); |
1742 | @@ -2702,11 +2988,46 @@ else | 1743 | @@ -2703,11 +2989,46 @@ else |
1743 | (set_attr "mode" "none") | 1744 | (set_attr "mode" "none") |
1744 | (set_attr "length" "4")]) | 1745 | (set_attr "length" "4")]) |
1745 | 1746 | ||
@@ -1788,7 +1789,7 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1788 | "" | 1789 | "" |
1789 | { | 1790 | { |
1790 | register rtx target = operands[1]; | 1791 | register rtx target = operands[1]; |
1791 | @@ -2880,7 +3201,6 @@ else | 1792 | @@ -2881,7 +3202,6 @@ else |
1792 | 1793 | ||
1793 | ;;if (!register_operand (operands[0], VOIDmode)) | 1794 | ;;if (!register_operand (operands[0], VOIDmode)) |
1794 | ;; FAIL; | 1795 | ;; FAIL; |
@@ -1797,10 +1798,10 @@ index bcf2b9244f8..bef750c026a 100644 | |||
1797 | operands[2], operands[3])); | 1798 | operands[2], operands[3])); |
1798 | DONE; | 1799 | DONE; |
1799 | diff --git a/gcc/config/microblaze/t-microblaze b/gcc/config/microblaze/t-microblaze | 1800 | diff --git a/gcc/config/microblaze/t-microblaze b/gcc/config/microblaze/t-microblaze |
1800 | index 7671f63c5b5..9fc80b142ce 100644 | 1801 | index e9a1921ae26..9fc80b142ce 100644 |
1801 | --- a/gcc/config/microblaze/t-microblaze | 1802 | --- a/gcc/config/microblaze/t-microblaze |
1802 | +++ b/gcc/config/microblaze/t-microblaze | 1803 | +++ b/gcc/config/microblaze/t-microblaze |
1803 | @@ -2,10 +2,11 @@ MULTILIB_OPTIONS = mxl-barrel-shift mno-xl-soft-mul mxl-multiply-high mlittle-en | 1804 | @@ -2,7 +2,8 @@ MULTILIB_OPTIONS = mxl-barrel-shift mno-xl-soft-mul mxl-multiply-high mlittle-en |
1804 | MULTILIB_DIRNAMES = bs m mh le m64 | 1805 | MULTILIB_DIRNAMES = bs m mh le m64 |
1805 | MULTILIB_EXCEPTIONS = *mxl-barrel-shift/mxl-multiply-high mxl-multiply-high | 1806 | MULTILIB_EXCEPTIONS = *mxl-barrel-shift/mxl-multiply-high mxl-multiply-high |
1806 | MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/mlittle-endian | 1807 | MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/mlittle-endian |
@@ -1808,13 +1809,8 @@ index 7671f63c5b5..9fc80b142ce 100644 | |||
1808 | +MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/mlittle-endian/m64 | 1809 | +MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/mlittle-endian/m64 |
1809 | +MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/m64 mxl-multiply-high | 1810 | +MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/m64 mxl-multiply-high |
1810 | MULTILIB_EXCEPTIONS += mxl-multiply-high/mlittle-endian | 1811 | MULTILIB_EXCEPTIONS += mxl-multiply-high/mlittle-endian |
1811 | -#MULTILIB_EXCEPTIONS += mxl-multiply-high/m64 | 1812 | MULTILIB_EXCEPTIONS += mxl-multiply-high/m64 |
1812 | -#MULTILIB_EXCEPTIONS += *mxl-multiply-high/mlittle-endian/m64 | 1813 | MULTILIB_EXCEPTIONS += *mxl-multiply-high/mlittle-endian/m64 |
1813 | +MULTILIB_EXCEPTIONS += mxl-multiply-high/m64 | ||
1814 | +MULTILIB_EXCEPTIONS += *mxl-multiply-high/mlittle-endian/m64 | ||
1815 | |||
1816 | # Extra files | ||
1817 | microblaze-c.o: $(srcdir)/config/microblaze/microblaze-c.c \ | ||
1818 | diff --git a/libgcc/config/microblaze/crti.S b/libgcc/config/microblaze/crti.S | 1814 | diff --git a/libgcc/config/microblaze/crti.S b/libgcc/config/microblaze/crti.S |
1819 | index d0146083db6..005825f1ec5 100644 | 1815 | index d0146083db6..005825f1ec5 100644 |
1820 | --- a/libgcc/config/microblaze/crti.S | 1816 | --- a/libgcc/config/microblaze/crti.S |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0036-re-arrangement-of-the-compare-branches.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0031-re-arrangement-of-the-compare-branches.patch index 63290129..0113c65d 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0036-re-arrangement-of-the-compare-branches.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0031-re-arrangement-of-the-compare-branches.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From e259b63769bf3cc437a665059add98d9480d942c Mon Sep 17 00:00:00 2001 | 1 | From 67d89be9ace8f658354fb1378e986451ef435d60 Mon Sep 17 00:00:00 2001 |
2 | From: Nagaraju Mekala <nmekala@xilix.com> | 2 | From: Nagaraju Mekala <nmekala@xilix.com> |
3 | Date: Fri, 3 Aug 2018 15:41:39 +0530 | 3 | Date: Fri, 3 Aug 2018 15:41:39 +0530 |
4 | Subject: [PATCH 36/58] re-arrangement of the compare branches | 4 | Subject: [PATCH 31/54] 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,10 +9,10 @@ Subject: [PATCH 36/58] re-arrangement of the compare branches | |||
9 | 2 files changed, 73 insertions(+), 96 deletions(-) | 9 | 2 files changed, 73 insertions(+), 96 deletions(-) |
10 | 10 | ||
11 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c | 11 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c |
12 | index 3ecda553fe6..cba5d86225c 100644 | 12 | index 3c815444574..046bfd05558 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 | @@ -3827,11 +3827,7 @@ microblaze_expand_conditional_branch (machine_mode mode, rtx operands[]) | 15 | @@ -3697,11 +3697,7 @@ microblaze_expand_conditional_branch (machine_mode mode, rtx operands[]) |
16 | { | 16 | { |
17 | comp_reg = cmp_op0; | 17 | comp_reg = cmp_op0; |
18 | condition = gen_rtx_fmt_ee (signed_condition (code), mode, comp_reg, const0_rtx); | 18 | condition = gen_rtx_fmt_ee (signed_condition (code), mode, comp_reg, const0_rtx); |
@@ -25,7 +25,7 @@ index 3ecda553fe6..cba5d86225c 100644 | |||
25 | } | 25 | } |
26 | 26 | ||
27 | else if (code == EQ || code == NE) | 27 | else if (code == EQ || code == NE) |
28 | @@ -3842,10 +3838,7 @@ microblaze_expand_conditional_branch (machine_mode mode, rtx operands[]) | 28 | @@ -3712,10 +3708,7 @@ microblaze_expand_conditional_branch (machine_mode mode, rtx operands[]) |
29 | else | 29 | else |
30 | emit_insn (gen_xordi3 (comp_reg, cmp_op0, cmp_op1)); | 30 | emit_insn (gen_xordi3 (comp_reg, cmp_op0, cmp_op1)); |
31 | condition = gen_rtx_fmt_ee (signed_condition (code), mode, comp_reg, const0_rtx); | 31 | condition = gen_rtx_fmt_ee (signed_condition (code), mode, comp_reg, const0_rtx); |
@@ -37,7 +37,7 @@ index 3ecda553fe6..cba5d86225c 100644 | |||
37 | } | 37 | } |
38 | else | 38 | else |
39 | { | 39 | { |
40 | @@ -3878,10 +3871,7 @@ microblaze_expand_conditional_branch_reg (machine_mode mode, rtx operands[]) | 40 | @@ -3748,10 +3741,7 @@ microblaze_expand_conditional_branch_reg (machine_mode mode, rtx operands[]) |
41 | comp_reg = cmp_op0; | 41 | comp_reg = cmp_op0; |
42 | condition = gen_rtx_fmt_ee (signed_condition (code), | 42 | condition = gen_rtx_fmt_ee (signed_condition (code), |
43 | mode, comp_reg, const0_rtx); | 43 | mode, comp_reg, const0_rtx); |
@@ -49,7 +49,7 @@ index 3ecda553fe6..cba5d86225c 100644 | |||
49 | } | 49 | } |
50 | else if (code == EQ) | 50 | else if (code == EQ) |
51 | { | 51 | { |
52 | @@ -3896,10 +3886,7 @@ microblaze_expand_conditional_branch_reg (machine_mode mode, rtx operands[]) | 52 | @@ -3766,10 +3756,7 @@ microblaze_expand_conditional_branch_reg (machine_mode mode, rtx operands[]) |
53 | cmp_op1)); | 53 | cmp_op1)); |
54 | } | 54 | } |
55 | condition = gen_rtx_EQ (mode, comp_reg, const0_rtx); | 55 | condition = gen_rtx_EQ (mode, comp_reg, const0_rtx); |
@@ -61,7 +61,7 @@ index 3ecda553fe6..cba5d86225c 100644 | |||
61 | 61 | ||
62 | } | 62 | } |
63 | else if (code == NE) | 63 | else if (code == NE) |
64 | @@ -3915,10 +3902,7 @@ microblaze_expand_conditional_branch_reg (machine_mode mode, rtx operands[]) | 64 | @@ -3785,10 +3772,7 @@ microblaze_expand_conditional_branch_reg (machine_mode mode, rtx operands[]) |
65 | cmp_op1)); | 65 | cmp_op1)); |
66 | } | 66 | } |
67 | condition = gen_rtx_NE (mode, comp_reg, const0_rtx); | 67 | condition = gen_rtx_NE (mode, comp_reg, const0_rtx); |
@@ -73,7 +73,7 @@ index 3ecda553fe6..cba5d86225c 100644 | |||
73 | } | 73 | } |
74 | else | 74 | else |
75 | { | 75 | { |
76 | @@ -3960,7 +3944,7 @@ microblaze_expand_conditional_branch_df (rtx operands[]) | 76 | @@ -3830,7 +3814,7 @@ microblaze_expand_conditional_branch_df (rtx operands[]) |
77 | 77 | ||
78 | emit_insn (gen_cstoredf4 (comp_reg, operands[0], cmp_op0, cmp_op1)); | 78 | emit_insn (gen_cstoredf4 (comp_reg, operands[0], cmp_op0, cmp_op1)); |
79 | condition = gen_rtx_NE (Pmode, comp_reg, const0_rtx); | 79 | condition = gen_rtx_NE (Pmode, comp_reg, const0_rtx); |
@@ -83,10 +83,10 @@ index 3ecda553fe6..cba5d86225c 100644 | |||
83 | 83 | ||
84 | /* Implement TARGET_FRAME_POINTER_REQUIRED. */ | 84 | /* Implement TARGET_FRAME_POINTER_REQUIRED. */ |
85 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md | 85 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md |
86 | index bef750c026a..29ebbfc0c03 100644 | 86 | index 33a8b12ef3b..cfe9e5312d1 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 | @@ -2270,7 +2270,27 @@ else | 89 | @@ -2271,7 +2271,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 bef750c026a..29ebbfc0c03 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 | @@ -2281,9 +2301,9 @@ else | 118 | @@ -2282,9 +2302,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 bef750c026a..29ebbfc0c03 100644 | |||
127 | } | 127 | } |
128 | [(set_attr "type" "branch") | 128 | [(set_attr "type" "branch") |
129 | (set_attr "mode" "none") | 129 | (set_attr "mode" "none") |
130 | @@ -2312,9 +2332,9 @@ else | 130 | @@ -2313,9 +2333,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 bef750c026a..29ebbfc0c03 100644 | |||
140 | ]) | 140 | ]) |
141 | (label_ref (match_operand 3)) | 141 | (label_ref (match_operand 3)) |
142 | (pc))) | 142 | (pc))) |
143 | @@ -2351,6 +2371,47 @@ else | 143 | @@ -2352,6 +2372,47 @@ else |
144 | (set_attr "length" "12")] | 144 | (set_attr "length" "12")] |
145 | ) | 145 | ) |
146 | 146 | ||
@@ -188,7 +188,7 @@ index bef750c026a..29ebbfc0c03 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 | @@ -2433,74 +2494,6 @@ else | 191 | @@ -2434,74 +2495,6 @@ else |
192 | 192 | ||
193 | }) | 193 | }) |
194 | 194 | ||
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0037-Patch-Microblaze-previous-commit-broke-the-handling-.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0032-Patch-Microblaze-previous-commit-broke-the-handling-.patch index 9be04781..b74c79ec 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0037-Patch-Microblaze-previous-commit-broke-the-handling-.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0032-Patch-Microblaze-previous-commit-broke-the-handling-.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 589c4453ab01570d47e6e37e4e546d65398cf58e Mon Sep 17 00:00:00 2001 | 1 | From 410348f4fd9b641afa24e6c6b6a62a4c74d18862 Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Wed, 8 Aug 2018 17:37:26 +0530 | 3 | Date: Wed, 8 Aug 2018 17:37:26 +0530 |
4 | Subject: [PATCH 37/58] [Patch,Microblaze] : previous commit broke the | 4 | Subject: [PATCH 32/54] [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 37/58] [Patch,Microblaze] : previous commit broke the | |||
9 | 1 file changed, 2 insertions(+), 2 deletions(-) | 9 | 1 file changed, 2 insertions(+), 2 deletions(-) |
10 | 10 | ||
11 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md | 11 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md |
12 | index 29ebbfc0c03..1a8853056d7 100644 | 12 | index cfe9e5312d1..592757baf2f 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 | @@ -2226,8 +2226,8 @@ else | 15 | @@ -2227,8 +2227,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-10/0038-Patch-Microblaze-Support-of-multilibs-with-m64.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0033-Patch-Microblaze-Support-of-multilibs-with-m64.patch index 464b5a6d..353bfa90 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0038-Patch-Microblaze-Support-of-multilibs-with-m64.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0033-Patch-Microblaze-Support-of-multilibs-with-m64.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From cfc6628cdf81a7ab268d2699c9bbc465865681c5 Mon Sep 17 00:00:00 2001 | 1 | From 802c136f1a41ebfed3b25419e48331038f284e2b Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Tue, 11 Sep 2018 13:43:48 +0530 | 3 | Date: Tue, 11 Sep 2018 13:43:48 +0530 |
4 | Subject: [PATCH 38/58] [Patch, Microblaze] : Support of multilibs with m64 ... | 4 | Subject: [PATCH 33/54] [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 + |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0039-Fix-various-issues.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0034-Fixed-issues-like.patch index c9d4b8c7..c508b158 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0039-Fix-various-issues.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0034-Fixed-issues-like.patch | |||
@@ -1,21 +1,19 @@ | |||
1 | From 0405777c25bb8110ebfd8ea69c7df062a4c03d6b Mon Sep 17 00:00:00 2001 | 1 | From 2b2c6e96c3aefc86c880be05d93685a4ce97c9f1 Mon Sep 17 00:00:00 2001 |
2 | From: Nagaraju Mekala <nmekala@xilix.com> | 2 | From: Nagaraju Mekala <nmekala@xilix.com> |
3 | Date: Tue, 11 Sep 2018 14:58:00 +0530 | 3 | Date: Tue, 11 Sep 2018 14:58:00 +0530 |
4 | Subject: [PATCH 39/58] Fix various issues | 4 | Subject: [PATCH 34/54] Fixed issues like: 1 Interrupt alignment issue 2 Sign |
5 | extension issue | ||
5 | 6 | ||
6 | Fixed issues like: | ||
7 | 1 Interrupt alignment issue | ||
8 | 2 Sign extension issue | ||
9 | --- | 7 | --- |
10 | gcc/config/microblaze/microblaze.c | 16 ++++++++++------ | 8 | gcc/config/microblaze/microblaze.c | 16 ++++++++++------ |
11 | gcc/config/microblaze/microblaze.md | 2 +- | 9 | gcc/config/microblaze/microblaze.md | 2 +- |
12 | 2 files changed, 11 insertions(+), 7 deletions(-) | 10 | 2 files changed, 11 insertions(+), 7 deletions(-) |
13 | 11 | ||
14 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c | 12 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c |
15 | index cba5d86225c..b94902b8fbb 100644 | 13 | index 046bfd05558..498c8ca191f 100644 |
16 | --- a/gcc/config/microblaze/microblaze.c | 14 | --- a/gcc/config/microblaze/microblaze.c |
17 | +++ b/gcc/config/microblaze/microblaze.c | 15 | +++ b/gcc/config/microblaze/microblaze.c |
18 | @@ -2307,9 +2307,14 @@ compute_frame_size (HOST_WIDE_INT size) | 16 | @@ -2177,9 +2177,14 @@ compute_frame_size (HOST_WIDE_INT size) |
19 | 17 | ||
20 | total_size += gp_reg_size; | 18 | total_size += gp_reg_size; |
21 | 19 | ||
@@ -32,7 +30,7 @@ index cba5d86225c..b94902b8fbb 100644 | |||
32 | 30 | ||
33 | /* No space to be allocated for link register in leaf functions with no other | 31 | /* No space to be allocated for link register in leaf functions with no other |
34 | stack requirements. */ | 32 | stack requirements. */ |
35 | @@ -2594,7 +2599,6 @@ print_operand (FILE * file, rtx op, int letter) | 33 | @@ -2464,7 +2469,6 @@ print_operand (FILE * file, rtx op, int letter) |
36 | else if (letter == 'h' || letter == 'j') | 34 | else if (letter == 'h' || letter == 'j') |
37 | { | 35 | { |
38 | long val[2]; | 36 | long val[2]; |
@@ -40,7 +38,7 @@ index cba5d86225c..b94902b8fbb 100644 | |||
40 | long l[2]; | 38 | long l[2]; |
41 | if (code == CONST_DOUBLE) | 39 | if (code == CONST_DOUBLE) |
42 | { | 40 | { |
43 | @@ -2609,10 +2613,10 @@ print_operand (FILE * file, rtx op, int letter) | 41 | @@ -2479,10 +2483,10 @@ print_operand (FILE * file, rtx op, int letter) |
44 | } | 42 | } |
45 | else if (code == CONST_INT || code == CONST)// || code == SYMBOL_REF ||code == LABEL_REF) | 43 | else if (code == CONST_INT || code == CONST)// || code == SYMBOL_REF ||code == LABEL_REF) |
46 | { | 44 | { |
@@ -55,7 +53,7 @@ index cba5d86225c..b94902b8fbb 100644 | |||
55 | else if (code == CONST_DOUBLE) | 53 | else if (code == CONST_DOUBLE) |
56 | { | 54 | { |
57 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md | 55 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md |
58 | index 1a8853056d7..7cc26e7d786 100644 | 56 | index 592757baf2f..e7c7cf3e8b5 100644 |
59 | --- a/gcc/config/microblaze/microblaze.md | 57 | --- a/gcc/config/microblaze/microblaze.md |
60 | +++ b/gcc/config/microblaze/microblaze.md | 58 | +++ b/gcc/config/microblaze/microblaze.md |
61 | @@ -1096,7 +1096,7 @@ | 59 | @@ -1096,7 +1096,7 @@ |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0040-Fixed-below-issues.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0035-Fixed-below-issues.patch index d5fbf703..61d35261 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0040-Fixed-below-issues.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0035-Fixed-below-issues.patch | |||
@@ -1,11 +1,14 @@ | |||
1 | From c4d60b379c8d0a5621a0dc2a3a12fb40fe45e83e Mon Sep 17 00:00:00 2001 | 1 | From 051d744c06ed3f11f603e37768eece57784c2583 Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Tue, 26 Nov 2019 17:26:15 +0530 | 3 | Date: Tue, 26 Nov 2019 17:26:15 +0530 |
4 | Subject: [PATCH 40/58] Fixed below issues: | 4 | Subject: [PATCH 35/54] 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 |
8 | - Added dbl instruction | 8 | - Added dbl instruction |
9 | |||
10 | Conflicts: | ||
11 | gcc/config/microblaze/microblaze.md | ||
9 | --- | 12 | --- |
10 | gcc/config/microblaze/microblaze.c | 12 +++- | 13 | gcc/config/microblaze/microblaze.c | 12 +++- |
11 | gcc/config/microblaze/microblaze.h | 7 +++ | 14 | gcc/config/microblaze/microblaze.h | 7 +++ |
@@ -15,10 +18,10 @@ Subject: [PATCH 40/58] Fixed below issues: | |||
15 | 5 files changed, 125 insertions(+), 17 deletions(-) | 18 | 5 files changed, 125 insertions(+), 17 deletions(-) |
16 | 19 | ||
17 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c | 20 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c |
18 | index b94902b8fbb..12b1da852dd 100644 | 21 | index 498c8ca191f..e32de46fa62 100644 |
19 | --- a/gcc/config/microblaze/microblaze.c | 22 | --- a/gcc/config/microblaze/microblaze.c |
20 | +++ b/gcc/config/microblaze/microblaze.c | 23 | +++ b/gcc/config/microblaze/microblaze.c |
21 | @@ -2603,7 +2603,12 @@ print_operand (FILE * file, rtx op, int letter) | 24 | @@ -2473,7 +2473,12 @@ print_operand (FILE * file, rtx op, int letter) |
22 | if (code == CONST_DOUBLE) | 25 | if (code == CONST_DOUBLE) |
23 | { | 26 | { |
24 | if (GET_MODE (op) == DFmode) | 27 | if (GET_MODE (op) == DFmode) |
@@ -31,8 +34,8 @@ index b94902b8fbb..12b1da852dd 100644 | |||
31 | + } | 34 | + } |
32 | else | 35 | else |
33 | { | 36 | { |
34 | REAL_VALUE_TO_TARGET_DOUBLE (*CONST_DOUBLE_REAL_VALUE (op), l); | 37 | REAL_VALUE_TO_TARGET_DOUBLE (*CONST_DOUBLE_REAL_VALUE (op), l); |
35 | @@ -4006,7 +4011,10 @@ microblaze_expand_divide (rtx operands[]) | 38 | @@ -3876,7 +3881,10 @@ microblaze_expand_divide (rtx operands[]) |
36 | gen_rtx_PLUS (QImode, regt1, div_table_rtx)); | 39 | gen_rtx_PLUS (QImode, regt1, div_table_rtx)); |
37 | 40 | ||
38 | insn = emit_insn (gen_zero_extendqisi2(operands[0],mem_rtx)); | 41 | insn = emit_insn (gen_zero_extendqisi2(operands[0],mem_rtx)); |
@@ -45,7 +48,7 @@ index b94902b8fbb..12b1da852dd 100644 | |||
45 | LABEL_NUSES (div_end_label) = 1; | 48 | LABEL_NUSES (div_end_label) = 1; |
46 | emit_barrier (); | 49 | emit_barrier (); |
47 | diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h | 50 | diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h |
48 | index 1f6e2059545..a36e06316aa 100644 | 51 | index f6ad4d9fc21..60c552958b8 100644 |
49 | --- a/gcc/config/microblaze/microblaze.h | 52 | --- a/gcc/config/microblaze/microblaze.h |
50 | +++ b/gcc/config/microblaze/microblaze.h | 53 | +++ b/gcc/config/microblaze/microblaze.h |
51 | @@ -888,10 +888,17 @@ do { \ | 54 | @@ -888,10 +888,17 @@ do { \ |
@@ -67,7 +70,7 @@ index 1f6e2059545..a36e06316aa 100644 | |||
67 | /* 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 |
68 | reference __errno! */ | 71 | reference __errno! */ |
69 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md | 72 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md |
70 | index 7cc26e7d786..013c77651c3 100644 | 73 | index e7c7cf3e8b5..74bb30cb9e8 100644 |
71 | --- a/gcc/config/microblaze/microblaze.md | 74 | --- a/gcc/config/microblaze/microblaze.md |
72 | +++ b/gcc/config/microblaze/microblaze.md | 75 | +++ b/gcc/config/microblaze/microblaze.md |
73 | @@ -527,6 +527,15 @@ | 76 | @@ -527,6 +527,15 @@ |
@@ -86,7 +89,7 @@ index 7cc26e7d786..013c77651c3 100644 | |||
86 | (define_insn "fix_truncsfsi2" | 89 | (define_insn "fix_truncsfsi2" |
87 | [(set (match_operand:SI 0 "register_operand" "=d") | 90 | [(set (match_operand:SI 0 "register_operand" "=d") |
88 | (fix:SI (match_operand:SF 1 "register_operand" "d")))] | 91 | (fix:SI (match_operand:SF 1 "register_operand" "d")))] |
89 | @@ -1300,7 +1309,7 @@ | 92 | @@ -1301,7 +1310,7 @@ |
90 | (define_insn "movdi_long_int" | 93 | (define_insn "movdi_long_int" |
91 | [(set (match_operand:DI 0 "nonimmediate_operand" "=d") | 94 | [(set (match_operand:DI 0 "nonimmediate_operand" "=d") |
92 | (match_operand:DI 1 "general_operand" "i"))] | 95 | (match_operand:DI 1 "general_operand" "i"))] |
@@ -95,7 +98,7 @@ index 7cc26e7d786..013c77651c3 100644 | |||
95 | "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"; |
96 | [(set_attr "type" "no_delay_arith") | 99 | [(set_attr "type" "no_delay_arith") |
97 | (set_attr "mode" "DI") | 100 | (set_attr "mode" "DI") |
98 | @@ -1583,7 +1592,7 @@ | 101 | @@ -1584,7 +1593,7 @@ |
99 | return "ll%i1\t%0,%1"; | 102 | return "ll%i1\t%0,%1"; |
100 | case 3: | 103 | case 3: |
101 | { | 104 | { |
@@ -104,7 +107,7 @@ index 7cc26e7d786..013c77651c3 100644 | |||
104 | } | 107 | } |
105 | case 5: | 108 | case 5: |
106 | return "sl%i0\t%1,%0"; | 109 | return "sl%i0\t%1,%0"; |
107 | @@ -2373,9 +2382,9 @@ else | 110 | @@ -2374,9 +2383,9 @@ else |
108 | 111 | ||
109 | (define_insn "long_branch_compare" | 112 | (define_insn "long_branch_compare" |
110 | [(set (pc) | 113 | [(set (pc) |
@@ -117,7 +120,7 @@ index 7cc26e7d786..013c77651c3 100644 | |||
117 | ]) | 120 | ]) |
118 | (label_ref (match_operand 3)) | 121 | (label_ref (match_operand 3)) |
119 | (pc))) | 122 | (pc))) |
120 | @@ -2497,6 +2506,20 @@ else | 123 | @@ -2498,6 +2507,20 @@ else |
121 | ;;---------------------------------------------------------------- | 124 | ;;---------------------------------------------------------------- |
122 | ;; Unconditional branches | 125 | ;; Unconditional branches |
123 | ;;---------------------------------------------------------------- | 126 | ;;---------------------------------------------------------------- |
@@ -138,7 +141,7 @@ index 7cc26e7d786..013c77651c3 100644 | |||
138 | (define_insn "jump" | 141 | (define_insn "jump" |
139 | [(set (pc) | 142 | [(set (pc) |
140 | (label_ref (match_operand 0 "" "")))] | 143 | (label_ref (match_operand 0 "" "")))] |
141 | @@ -2542,17 +2565,25 @@ else | 144 | @@ -2543,17 +2566,25 @@ else |
142 | { | 145 | { |
143 | //gcc_assert (GET_MODE (operands[0]) == Pmode); | 146 | //gcc_assert (GET_MODE (operands[0]) == Pmode); |
144 | 147 | ||
@@ -169,7 +172,7 @@ index 7cc26e7d786..013c77651c3 100644 | |||
169 | (use (label_ref (match_operand 1 "" "")))] | 172 | (use (label_ref (match_operand 1 "" "")))] |
170 | "" | 173 | "" |
171 | "bra%?\t%0 " | 174 | "bra%?\t%0 " |
172 | @@ -2560,11 +2591,21 @@ else | 175 | @@ -2561,11 +2592,21 @@ else |
173 | (set_attr "mode" "none") | 176 | (set_attr "mode" "none") |
174 | (set_attr "length" "4")]) | 177 | (set_attr "length" "4")]) |
175 | 178 | ||
@@ -194,7 +197,7 @@ index 7cc26e7d786..013c77651c3 100644 | |||
194 | "" | 197 | "" |
195 | "" | 198 | "" |
196 | ) | 199 | ) |
197 | @@ -2595,6 +2636,23 @@ else | 200 | @@ -2596,6 +2637,23 @@ else |
198 | "" | 201 | "" |
199 | ) | 202 | ) |
200 | 203 | ||
@@ -218,7 +221,7 @@ index 7cc26e7d786..013c77651c3 100644 | |||
218 | ;;---------------------------------------------------------------- | 221 | ;;---------------------------------------------------------------- |
219 | ;; Function prologue/epilogue and stack allocation | 222 | ;; Function prologue/epilogue and stack allocation |
220 | ;;---------------------------------------------------------------- | 223 | ;;---------------------------------------------------------------- |
221 | @@ -3101,7 +3159,7 @@ else | 224 | @@ -3102,7 +3160,7 @@ else |
222 | ;; 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 |
223 | ;; between "mfs" and "addik" instructions. | 226 | ;; between "mfs" and "addik" instructions. |
224 | (define_insn "set_got" | 227 | (define_insn "set_got" |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0041-Fix-various.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0036-Added-double-arith-instructions.patch index 75ee48fa..3f52e879 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0041-Fix-various.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0036-Added-double-arith-instructions.patch | |||
@@ -1,17 +1,16 @@ | |||
1 | From 90edf612331af9b7e99105112c2067a3f085daef Mon Sep 17 00:00:00 2001 | 1 | From 2bb5cef1a85d63ebf155bcb0070492b0ad298dd8 Mon Sep 17 00:00:00 2001 |
2 | From: Nagaraju Mekala <nmekala@xilix.com> | 2 | From: Nagaraju Mekala <nmekala@xilix.com> |
3 | Date: Tue, 9 Oct 2018 10:07:08 +0530 | 3 | Date: Tue, 9 Oct 2018 10:07:08 +0530 |
4 | Subject: [PATCH 41/58] Fix various | 4 | Subject: [PATCH 36/54] -Added double arith instructions -Fixed prologue stack |
5 | pointer decrement issue | ||
5 | 6 | ||
6 | -Added double arith instructions | ||
7 | -Fixed prologue stack pointer decrement issue | ||
8 | --- | 7 | --- |
9 | gcc/config/microblaze/microblaze.md | 78 +++++++++++++++++++++++++---- | 8 | gcc/config/microblaze/microblaze.md | 78 +++++++++++++++++++++++++---- |
10 | gcc/config/microblaze/t-microblaze | 7 +++ | 9 | gcc/config/microblaze/t-microblaze | 7 +++ |
11 | 2 files changed, 76 insertions(+), 9 deletions(-) | 10 | 2 files changed, 76 insertions(+), 9 deletions(-) |
12 | 11 | ||
13 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md | 12 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md |
14 | index 013c77651c3..645f48f2847 100644 | 13 | index 74bb30cb9e8..1401d6b77ff 100644 |
15 | --- a/gcc/config/microblaze/microblaze.md | 14 | --- a/gcc/config/microblaze/microblaze.md |
16 | +++ b/gcc/config/microblaze/microblaze.md | 15 | +++ b/gcc/config/microblaze/microblaze.md |
17 | @@ -527,6 +527,66 @@ | 16 | @@ -527,6 +527,66 @@ |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0042-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0037-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch index 2e66625b..2253b759 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0042-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0037-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From c7f6fb9d81ce322f71cbef7cc1f5cb2fb8956a27 Mon Sep 17 00:00:00 2001 | 1 | From 2feba7c8902be8d5c4cc99feca0581472c16de0c Mon Sep 17 00:00:00 2001 |
2 | From: Nagaraju Mekala <nmekala@xilix.com> | 2 | From: Nagaraju Mekala <nmekala@xilix.com> |
3 | Date: Fri, 12 Oct 2018 16:07:36 +0530 | 3 | Date: Fri, 12 Oct 2018 16:07:36 +0530 |
4 | Subject: [PATCH 42/58] Fixed the issue in the delay slot with swap | 4 | Subject: [PATCH 37/54] Fixed the issue in the delay slot with swap |
5 | instructions | 5 | instructions |
6 | 6 | ||
7 | --- | 7 | --- |
@@ -9,7 +9,7 @@ Subject: [PATCH 42/58] Fixed the issue in the delay slot with swap | |||
9 | 1 file changed, 6 insertions(+) | 9 | 1 file changed, 6 insertions(+) |
10 | 10 | ||
11 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md | 11 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md |
12 | index 645f48f2847..6a1e45a5b66 100644 | 12 | index 1401d6b77ff..a91108cf0e5 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-10/0043-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0038-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch index 3d532c6a..57905e66 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0043-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0038-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 16a9a232ae430e691c13157dd5988f9c5c7dfb71 Mon Sep 17 00:00:00 2001 | 1 | From 10d59c50195cff30c4e74959ef4cebc9065808a4 Mon Sep 17 00:00:00 2001 |
2 | From: Nagaraju Mekala <nmekala@xilix.com> | 2 | From: Nagaraju Mekala <nmekala@xilix.com> |
3 | Date: Sat, 13 Oct 2018 21:12:43 +0530 | 3 | Date: Sat, 13 Oct 2018 21:12:43 +0530 |
4 | Subject: [PATCH 43/58] Fixed the load store issue with the 32bit arith | 4 | Subject: [PATCH 38/54] Fixed the load store issue with the 32bit arith |
5 | libraries | 5 | libraries |
6 | 6 | ||
7 | --- | 7 | --- |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0044-extending-the-Dwarf-support-to-64bit-Microblaze.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0039-extending-the-Dwarf-support-to-64bit-Microblaze.patch index d34c103d..8f46859a 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0044-extending-the-Dwarf-support-to-64bit-Microblaze.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0039-extending-the-Dwarf-support-to-64bit-Microblaze.patch | |||
@@ -1,14 +1,14 @@ | |||
1 | From b3766742c4e1d401d4f7cdc55a90262681689a20 Mon Sep 17 00:00:00 2001 | 1 | From e51fb2d87f412d1f7045050c5c2df664766de706 Mon Sep 17 00:00:00 2001 |
2 | From: Nagaraju Mekala <nmekala@xilix.com> | 2 | From: Nagaraju Mekala <nmekala@xilix.com> |
3 | Date: Mon, 15 Oct 2018 12:00:10 +0530 | 3 | Date: Mon, 15 Oct 2018 12:00:10 +0530 |
4 | Subject: [PATCH 44/58] extending the Dwarf support to 64bit Microblaze | 4 | Subject: [PATCH 39/54] 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 | ||
10 | diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h | 10 | diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h |
11 | index a36e06316aa..8504a841406 100644 | 11 | index 60c552958b8..747adcc7a70 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-10/0045-fixing-the-typo-errors-in-umodsi3-file.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0040-fixing-the-typo-errors-in-umodsi3-file.patch index a69c71dd..e7e581e3 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0045-fixing-the-typo-errors-in-umodsi3-file.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0040-fixing-the-typo-errors-in-umodsi3-file.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From bdc9429b5f2300e39ecdf1db63f4d35f8e18a932 Mon Sep 17 00:00:00 2001 | 1 | From 61be4b342d470aeb7ad1c0cc5e90f5afdc906c00 Mon Sep 17 00:00:00 2001 |
2 | From: Nagaraju Mekala <nmekala@xilix.com> | 2 | From: Nagaraju Mekala <nmekala@xilix.com> |
3 | Date: Tue, 16 Oct 2018 07:55:46 +0530 | 3 | Date: Tue, 16 Oct 2018 07:55:46 +0530 |
4 | Subject: [PATCH 45/58] fixing the typo errors in umodsi3 file | 4 | Subject: [PATCH 40/54] 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 +++--- |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0046-fixing-the-32bit-LTO-related-issue9-1014024.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0041-fixing-the-32bit-LTO-related-issue9-1014024.patch index a5f7afb6..9f9afdb9 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0046-fixing-the-32bit-LTO-related-issue9-1014024.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0041-fixing-the-32bit-LTO-related-issue9-1014024.patch | |||
@@ -1,14 +1,14 @@ | |||
1 | From 2226c8b836bdc9d0e2a281d971288e4bcb50d503 Mon Sep 17 00:00:00 2001 | 1 | From b1eb7b1f6c33246ded3501364279a5f002cd8de0 Mon Sep 17 00:00:00 2001 |
2 | From: Nagaraju Mekala <nmekala@xilix.com> | 2 | From: Nagaraju Mekala <nmekala@xilix.com> |
3 | Date: Wed, 17 Oct 2018 16:56:14 +0530 | 3 | Date: Wed, 17 Oct 2018 16:56:14 +0530 |
4 | Subject: [PATCH 46/58] fixing the 32bit LTO related issue9(1014024) | 4 | Subject: [PATCH 41/54] 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 | ||
10 | diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h | 10 | diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h |
11 | index 8504a841406..0c493b6f6e4 100644 | 11 | index 747adcc7a70..bfa7bc9a01c 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-10/0047-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0042-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch index 42296396..fb31d663 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0047-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0042-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 8ed304d49f66bc36b39dac8e804a7cdeda642739 Mon Sep 17 00:00:00 2001 | 1 | From e0820fe8c8d9b7504595794fe6e65151d22e2acf Mon Sep 17 00:00:00 2001 |
2 | From: Nagaraju Mekala <nmekala@xilix.com> | 2 | From: Nagaraju Mekala <nmekala@xilix.com> |
3 | Date: Fri, 19 Oct 2018 14:26:25 +0530 | 3 | Date: Fri, 19 Oct 2018 14:26:25 +0530 |
4 | Subject: [PATCH 47/58] Fixed the missing stack adjustment in prologue of | 4 | Subject: [PATCH 42/54] Fixed the missing stack adjustment in prologue of |
5 | modsi3 function | 5 | modsi3 function |
6 | 6 | ||
7 | --- | 7 | --- |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0048-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0043-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch index 92fa9e57..ce8b1384 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0048-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0043-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From d12f2da2ae7fa7946aef94c161730c7b851c086a Mon Sep 17 00:00:00 2001 | 1 | From 1f288ec920d938accb084dc0d1d6f6115950c014 Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Wed, 24 Oct 2018 18:31:04 +0530 | 3 | Date: Wed, 24 Oct 2018 18:31:04 +0530 |
4 | Subject: [PATCH 48/58] [Patch,Microblaze] : corrected SPN for dlong | 4 | Subject: [PATCH 43/54] [Patch,Microblaze] : corrected SPN for dlong |
5 | instruction mapping. | 5 | instruction mapping. |
6 | 6 | ||
7 | --- | 7 | --- |
@@ -9,7 +9,7 @@ Subject: [PATCH 48/58] [Patch,Microblaze] : corrected SPN for dlong | |||
9 | 1 file changed, 2 insertions(+), 2 deletions(-) | 9 | 1 file changed, 2 insertions(+), 2 deletions(-) |
10 | 10 | ||
11 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md | 11 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md |
12 | index 6a1e45a5b66..53dbe4e4060 100644 | 12 | index a91108cf0e5..19801f8edcc 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-10/0049-fixing-the-long-long-long-mingw-toolchain-issue.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0044-fixing-the-long-long-long-mingw-toolchain-issue.patch index 346157ce..fec0a2af 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0049-fixing-the-long-long-long-mingw-toolchain-issue.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0044-fixing-the-long-long-long-mingw-toolchain-issue.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From dfe4f5aa180a7b4c15b4b586b253541aa9d29e52 Mon Sep 17 00:00:00 2001 | 1 | From eed2bf4db9bdfc0da1c3f77ce746fb5bfa460b3c Mon Sep 17 00:00:00 2001 |
2 | From: Nagaraju Mekala <nmekala@xilix.com> | 2 | From: Nagaraju Mekala <nmekala@xilix.com> |
3 | Date: Thu, 29 Nov 2018 17:55:08 +0530 | 3 | Date: Thu, 29 Nov 2018 17:55:08 +0530 |
4 | Subject: [PATCH 49/58] fixing the long & long long mingw toolchain issue | 4 | Subject: [PATCH 44/54] 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 49/58] 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 | ||
11 | diff --git a/gcc/config/microblaze/constraints.md b/gcc/config/microblaze/constraints.md | 11 | diff --git a/gcc/config/microblaze/constraints.md b/gcc/config/microblaze/constraints.md |
12 | index c2b0a21c53b..4a6cf419671 100644 | 12 | index b8ef1650f92..89db511c453 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 @@ |
@@ -19,10 +19,10 @@ index c2b0a21c53b..4a6cf419671 100644 | |||
19 | - (match_test "ival > (long)-549755813888 && ival < (long)549755813887"))) | 19 | - (match_test "ival > (long)-549755813888 && ival < (long)549755813887"))) |
20 | + (match_test "ival > (long long)-549755813888 && ival < (long long)549755813887"))) | 20 | + (match_test "ival > (long long)-549755813888 && ival < (long long)549755813887"))) |
21 | 21 | ||
22 | ;; Define floating point constraints | ||
23 | 22 | ||
23 | ;; Define floating point constraints | ||
24 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md | 24 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md |
25 | index 53dbe4e4060..5d277014e42 100644 | 25 | index 19801f8edcc..8f0ae901b77 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 @@ |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0050-Fix-the-MB-64-bug-of-handling-QI-objects.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0045-Fix-the-MB-64-bug-of-handling-QI-objects.patch index 360bdb51..15acc1cb 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0050-Fix-the-MB-64-bug-of-handling-QI-objects.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0045-Fix-the-MB-64-bug-of-handling-QI-objects.patch | |||
@@ -1,17 +1,17 @@ | |||
1 | From b21e115bc1af625b2ae1acb893027af6af3c2d16 Mon Sep 17 00:00:00 2001 | 1 | From 682f65fa3a6b37c207b0d727dd22b6f8cc5d8d3d Mon Sep 17 00:00:00 2001 |
2 | From: Nagaraju <nmekala@xilinx.com> | 2 | From: Nagaraju <nmekala@xilinx.com> |
3 | Date: Thu, 14 Mar 2019 18:11:04 +0530 | 3 | Date: Thu, 14 Mar 2019 18:11:04 +0530 |
4 | Subject: [PATCH 50/58] Fix the MB-64 bug of handling QI objects | 4 | Subject: [PATCH 45/54] 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 | ||
10 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md | 10 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md |
11 | index 5d277014e42..a1363935c42 100644 | 11 | index 8f0ae901b77..207d2bf1b55 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 | @@ -2347,11 +2347,11 @@ else | 14 | @@ -2348,11 +2348,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 5d277014e42..a1363935c42 100644 | |||
26 | ] | 26 | ] |
27 | "TARGET_MB_64" | 27 | "TARGET_MB_64" |
28 | { | 28 | { |
29 | @@ -2367,11 +2367,11 @@ else | 29 | @@ -2368,11 +2368,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-10/0051-Patch-Microblaze-Check-the-possibiity-of-peephole2-o.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0046-Patch-Microblaze-We-will-check-the-possibility-of-pe.patch index 6b7bb2a1..eebf6ee7 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0051-Patch-Microblaze-Check-the-possibiity-of-peephole2-o.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0046-Patch-Microblaze-We-will-check-the-possibility-of-pe.patch | |||
@@ -1,17 +1,15 @@ | |||
1 | From ed17f79b22769e5a256e3990715e32e943bfd929 Mon Sep 17 00:00:00 2001 | 1 | From 444a09859149f8d21777a1c859ef2305ff86b211 Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Fri, 29 Mar 2019 12:08:39 +0530 | 3 | Date: Fri, 29 Mar 2019 12:08:39 +0530 |
4 | Subject: [PATCH 51/58] [Patch,Microblaze] : Check the possibiity of peephole2 | 4 | Subject: [PATCH 46/54] [Patch,Microblaze] : We will check the possibility of |
5 | opt | 5 | peephole2 optimization,if we can then we will fix the compiler issue. |
6 | 6 | ||
7 | We will check the possibility of peephole2 | ||
8 | optimization,if we can then we will fix the compiler issue. | ||
9 | --- | 7 | --- |
10 | gcc/config/microblaze/microblaze.md | 63 +++++++++++++++++------------ | 8 | gcc/config/microblaze/microblaze.md | 63 +++++++++++++++++------------ |
11 | 1 file changed, 38 insertions(+), 25 deletions(-) | 9 | 1 file changed, 38 insertions(+), 25 deletions(-) |
12 | 10 | ||
13 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md | 11 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md |
14 | index a1363935c42..626eade9468 100644 | 12 | index 207d2bf1b55..9b88666c0a6 100644 |
15 | --- a/gcc/config/microblaze/microblaze.md | 13 | --- a/gcc/config/microblaze/microblaze.md |
16 | +++ b/gcc/config/microblaze/microblaze.md | 14 | +++ b/gcc/config/microblaze/microblaze.md |
17 | @@ -882,31 +882,44 @@ | 15 | @@ -882,31 +882,44 @@ |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0052-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0047-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch index 45505cf1..34378812 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0052-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0047-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From d845981b381b0174d97dda8a78d82cf8fcae7ca1 Mon Sep 17 00:00:00 2001 | 1 | From 7cc6db7ad5bf2fac80a81711c70ac1147ab87b2c Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Wed, 17 Apr 2019 12:36:16 +0530 | 3 | Date: Wed, 17 Apr 2019 12:36:16 +0530 |
4 | Subject: [PATCH 52/58] [Patch,MicroBlaze]: fixed typos in mul,div and mod | 4 | Subject: [PATCH 47/54] [Patch,MicroBlaze]: fixed typos in mul,div and mod |
5 | assembly files. | 5 | assembly files. |
6 | 6 | ||
7 | --- | 7 | --- |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0053-Patch-microblaze-MB-64-removal-of-barrel-shift-instr.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0048-Author-Nagaraju-nmekala-xilinx.com.patch index 8dce8476..94be6aff 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0053-Patch-microblaze-MB-64-removal-of-barrel-shift-instr.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0048-Author-Nagaraju-nmekala-xilinx.com.patch | |||
@@ -1,24 +1,25 @@ | |||
1 | From e3b95d5646d4197bff81105c12bcbc5e7dba1725 Mon Sep 17 00:00:00 2001 | 1 | From f6b896effc198b8d9d1e6f33889f029da5e5d96c Mon Sep 17 00:00:00 2001 |
2 | From: Nagaraju <nmekala@xilinx.com> | 2 | From: Nagaraju <nmekala@xilinx.com> |
3 | Date: Thu, 18 Apr 2019 16:00:37 +0530 | 3 | Date: Thu, 18 Apr 2019 16:00:37 +0530 |
4 | Subject: [PATCH 53/58] [Patch, microblaze]: MB-64 removal of barrel-shift | 4 | Subject: [PATCH 48/54] Author: Nagaraju <nmekala@xilinx.com> Date: Wed Apr |
5 | instructions from default | 5 | 17 14:11:00 2019 +0530 |
6 | 6 | ||
7 | By default MB-64 is generatting barrel-shift instructions. It has been | 7 | [Patch, microblaze]: MB-64 removal of barrel-shift instructions from default |
8 | removed from default. Barrel-shift instructions will be generated only if | 8 | By default MB-64 is generatting barrel-shift instructions. It has been |
9 | barrel-shifter is enabled. Similarly to double instructions as well. | 9 | removed from default. Barrel-shift instructions will be generated only if |
10 | barrel-shifter is enabled. Similarly to double instructions as well. | ||
10 | 11 | ||
11 | Signed-off-by :Nagaraju Mekala <nmekala@xilix.com> | 12 | Signed-off-by :Nagaraju Mekala <nmekala@xilix.com> |
12 | --- | 13 | --- |
13 | gcc/config/microblaze/microblaze.c | 2 +- | 14 | gcc/config/microblaze/microblaze.c | 2 +- |
14 | gcc/config/microblaze/microblaze.md | 269 ++++++++++++++++++++++++++-- | 15 | gcc/config/microblaze/microblaze.md | 269 ++++++++++++++++++++++++++-- |
15 | 2 files changed, 252 insertions(+), 19 deletions(-) | 16 | 2 files changed, 252 insertions(+), 19 deletions(-) |
16 | 17 | ||
17 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c | 18 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c |
18 | index 12b1da852dd..5b4c21af365 100644 | 19 | index e32de46fa62..7b48c011550 100644 |
19 | --- a/gcc/config/microblaze/microblaze.c | 20 | --- a/gcc/config/microblaze/microblaze.c |
20 | +++ b/gcc/config/microblaze/microblaze.c | 21 | +++ b/gcc/config/microblaze/microblaze.c |
21 | @@ -4000,7 +4000,7 @@ microblaze_expand_divide (rtx operands[]) | 22 | @@ -3870,7 +3870,7 @@ microblaze_expand_divide (rtx operands[]) |
22 | emit_insn (gen_rtx_CLOBBER (Pmode, reg18)); | 23 | emit_insn (gen_rtx_CLOBBER (Pmode, reg18)); |
23 | 24 | ||
24 | if (TARGET_MB_64) { | 25 | if (TARGET_MB_64) { |
@@ -28,7 +29,7 @@ index 12b1da852dd..5b4c21af365 100644 | |||
28 | } | 29 | } |
29 | else { | 30 | else { |
30 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md | 31 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md |
31 | index 626eade9468..6cc62666269 100644 | 32 | index 9b88666c0a6..60afd9be288 100644 |
32 | --- a/gcc/config/microblaze/microblaze.md | 33 | --- a/gcc/config/microblaze/microblaze.md |
33 | +++ b/gcc/config/microblaze/microblaze.md | 34 | +++ b/gcc/config/microblaze/microblaze.md |
34 | @@ -547,7 +547,7 @@ | 35 | @@ -547,7 +547,7 @@ |
@@ -146,7 +147,7 @@ index 626eade9468..6cc62666269 100644 | |||
146 | else | 147 | else |
147 | return "addlik\t%0,r0,%1"; | 148 | return "addlik\t%0,r0,%1"; |
148 | case 3: | 149 | case 3: |
149 | @@ -1388,7 +1424,7 @@ | 150 | @@ -1389,7 +1425,7 @@ |
150 | (define_insn "movdi_long_int" | 151 | (define_insn "movdi_long_int" |
151 | [(set (match_operand:DI 0 "nonimmediate_operand" "=d") | 152 | [(set (match_operand:DI 0 "nonimmediate_operand" "=d") |
152 | (match_operand:DI 1 "general_operand" "i"))] | 153 | (match_operand:DI 1 "general_operand" "i"))] |
@@ -155,7 +156,7 @@ index 626eade9468..6cc62666269 100644 | |||
155 | "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"; |
156 | [(set_attr "type" "no_delay_arith") | 157 | [(set_attr "type" "no_delay_arith") |
157 | (set_attr "mode" "DI") | 158 | (set_attr "mode" "DI") |
158 | @@ -1655,6 +1691,33 @@ | 159 | @@ -1656,6 +1692,33 @@ |
159 | ;; movdf_internal | 160 | ;; movdf_internal |
160 | ;; Applies to both TARGET_SOFT_FLOAT and TARGET_HARD_FLOAT | 161 | ;; Applies to both TARGET_SOFT_FLOAT and TARGET_HARD_FLOAT |
161 | ;; | 162 | ;; |
@@ -189,7 +190,7 @@ index 626eade9468..6cc62666269 100644 | |||
189 | (define_insn "*movdf_internal_64" | 190 | (define_insn "*movdf_internal_64" |
190 | [(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") |
191 | (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"))] |
192 | @@ -1671,7 +1734,13 @@ | 193 | @@ -1672,7 +1735,13 @@ |
193 | return "ll%i1\t%0,%1"; | 194 | return "ll%i1\t%0,%1"; |
194 | case 3: | 195 | case 3: |
195 | { | 196 | { |
@@ -204,7 +205,7 @@ index 626eade9468..6cc62666269 100644 | |||
204 | } | 205 | } |
205 | case 5: | 206 | case 5: |
206 | return "sl%i0\t%1,%0"; | 207 | return "sl%i0\t%1,%0"; |
207 | @@ -1791,11 +1860,21 @@ | 208 | @@ -1792,11 +1861,21 @@ |
208 | "TARGET_MB_64" | 209 | "TARGET_MB_64" |
209 | { | 210 | { |
210 | ;;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) |
@@ -227,7 +228,7 @@ index 626eade9468..6cc62666269 100644 | |||
227 | else | 228 | else |
228 | FAIL; | 229 | FAIL; |
229 | } | 230 | } |
230 | @@ -1805,7 +1884,7 @@ else | 231 | @@ -1806,7 +1885,7 @@ else |
231 | [(set (match_operand:DI 0 "register_operand" "=d,d") | 232 | [(set (match_operand:DI 0 "register_operand" "=d,d") |
232 | (ashift:DI (match_operand:DI 1 "register_operand" "d,d") | 233 | (ashift:DI (match_operand:DI 1 "register_operand" "d,d") |
233 | (match_operand:DI 2 "arith_operand" "I,d")))] | 234 | (match_operand:DI 2 "arith_operand" "I,d")))] |
@@ -236,7 +237,7 @@ index 626eade9468..6cc62666269 100644 | |||
236 | "@ | 237 | "@ |
237 | bsllli\t%0,%1,%2 | 238 | bsllli\t%0,%1,%2 |
238 | bslll\t%0,%1,%2" | 239 | bslll\t%0,%1,%2" |
239 | @@ -1813,6 +1892,51 @@ else | 240 | @@ -1814,6 +1893,51 @@ else |
240 | (set_attr "mode" "DI,DI") | 241 | (set_attr "mode" "DI,DI") |
241 | (set_attr "length" "4,4")] | 242 | (set_attr "length" "4,4")] |
242 | ) | 243 | ) |
@@ -288,7 +289,7 @@ index 626eade9468..6cc62666269 100644 | |||
288 | ;; The following patterns apply when there is no barrel shifter present | 289 | ;; The following patterns apply when there is no barrel shifter present |
289 | 290 | ||
290 | (define_insn "*ashlsi3_with_mul_delay" | 291 | (define_insn "*ashlsi3_with_mul_delay" |
291 | @@ -1946,11 +2070,21 @@ else | 292 | @@ -1947,11 +2071,21 @@ else |
292 | "TARGET_MB_64" | 293 | "TARGET_MB_64" |
293 | { | 294 | { |
294 | ;;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) |
@@ -311,7 +312,7 @@ index 626eade9468..6cc62666269 100644 | |||
311 | else | 312 | else |
312 | FAIL; | 313 | FAIL; |
313 | } | 314 | } |
314 | @@ -1960,7 +2094,7 @@ else | 315 | @@ -1961,7 +2095,7 @@ else |
315 | [(set (match_operand:DI 0 "register_operand" "=d,d") | 316 | [(set (match_operand:DI 0 "register_operand" "=d,d") |
316 | (ashiftrt:DI (match_operand:DI 1 "register_operand" "d,d") | 317 | (ashiftrt:DI (match_operand:DI 1 "register_operand" "d,d") |
317 | (match_operand:DI 2 "arith_operand" "I,d")))] | 318 | (match_operand:DI 2 "arith_operand" "I,d")))] |
@@ -320,7 +321,7 @@ index 626eade9468..6cc62666269 100644 | |||
320 | "@ | 321 | "@ |
321 | bslrai\t%0,%1,%2 | 322 | bslrai\t%0,%1,%2 |
322 | bslra\t%0,%1,%2" | 323 | bslra\t%0,%1,%2" |
323 | @@ -1968,6 +2102,51 @@ else | 324 | @@ -1969,6 +2103,51 @@ else |
324 | (set_attr "mode" "DI,DI") | 325 | (set_attr "mode" "DI,DI") |
325 | (set_attr "length" "4,4")] | 326 | (set_attr "length" "4,4")] |
326 | ) | 327 | ) |
@@ -372,7 +373,7 @@ index 626eade9468..6cc62666269 100644 | |||
372 | (define_expand "ashrsi3" | 373 | (define_expand "ashrsi3" |
373 | [(set (match_operand:SI 0 "register_operand" "=&d") | 374 | [(set (match_operand:SI 0 "register_operand" "=&d") |
374 | (ashiftrt:SI (match_operand:SI 1 "register_operand" "d") | 375 | (ashiftrt:SI (match_operand:SI 1 "register_operand" "d") |
375 | @@ -2085,11 +2264,21 @@ else | 376 | @@ -2086,11 +2265,21 @@ else |
376 | "TARGET_MB_64" | 377 | "TARGET_MB_64" |
377 | { | 378 | { |
378 | ;;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) |
@@ -395,7 +396,7 @@ index 626eade9468..6cc62666269 100644 | |||
395 | else | 396 | else |
396 | FAIL; | 397 | FAIL; |
397 | } | 398 | } |
398 | @@ -2099,7 +2288,7 @@ else | 399 | @@ -2100,7 +2289,7 @@ else |
399 | [(set (match_operand:DI 0 "register_operand" "=d,d") | 400 | [(set (match_operand:DI 0 "register_operand" "=d,d") |
400 | (lshiftrt:DI (match_operand:DI 1 "register_operand" "d,d") | 401 | (lshiftrt:DI (match_operand:DI 1 "register_operand" "d,d") |
401 | (match_operand:DI 2 "arith_operand" "I,d")))] | 402 | (match_operand:DI 2 "arith_operand" "I,d")))] |
@@ -404,7 +405,7 @@ index 626eade9468..6cc62666269 100644 | |||
404 | "@ | 405 | "@ |
405 | bslrli\t%0,%1,%2 | 406 | bslrli\t%0,%1,%2 |
406 | bslrl\t%0,%1,%2" | 407 | bslrl\t%0,%1,%2" |
407 | @@ -2108,6 +2297,50 @@ else | 408 | @@ -2109,6 +2298,50 @@ else |
408 | (set_attr "length" "4,4")] | 409 | (set_attr "length" "4,4")] |
409 | ) | 410 | ) |
410 | 411 | ||
@@ -455,7 +456,7 @@ index 626eade9468..6cc62666269 100644 | |||
455 | (define_expand "lshrsi3" | 456 | (define_expand "lshrsi3" |
456 | [(set (match_operand:SI 0 "register_operand" "=&d") | 457 | [(set (match_operand:SI 0 "register_operand" "=&d") |
457 | (lshiftrt:SI (match_operand:SI 1 "register_operand" "d") | 458 | (lshiftrt:SI (match_operand:SI 1 "register_operand" "d") |
458 | @@ -2235,7 +2468,7 @@ else | 459 | @@ -2236,7 +2469,7 @@ else |
459 | (eq:DI | 460 | (eq:DI |
460 | (match_operand:DI 1 "register_operand" "d") | 461 | (match_operand:DI 1 "register_operand" "d") |
461 | (match_operand:DI 2 "register_operand" "d")))] | 462 | (match_operand:DI 2 "register_operand" "d")))] |
@@ -464,7 +465,7 @@ index 626eade9468..6cc62666269 100644 | |||
464 | "pcmpleq\t%0,%1,%2" | 465 | "pcmpleq\t%0,%1,%2" |
465 | [(set_attr "type" "arith") | 466 | [(set_attr "type" "arith") |
466 | (set_attr "mode" "DI") | 467 | (set_attr "mode" "DI") |
467 | @@ -2247,7 +2480,7 @@ else | 468 | @@ -2248,7 +2481,7 @@ else |
468 | (ne:DI | 469 | (ne:DI |
469 | (match_operand:DI 1 "register_operand" "d") | 470 | (match_operand:DI 1 "register_operand" "d") |
470 | (match_operand:DI 2 "register_operand" "d")))] | 471 | (match_operand:DI 2 "register_operand" "d")))] |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0055-Added-new-MB-64-single-register-arithmetic-instructi.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0049-Added-new-MB-64-single-register-arithmetic-instructi.patch index 4ab3cec9..81ecbf8e 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0055-Added-new-MB-64-single-register-arithmetic-instructi.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0049-Added-new-MB-64-single-register-arithmetic-instructi.patch | |||
@@ -1,14 +1,14 @@ | |||
1 | From 3198a31122bb0436d298d29e986bb69bc3c526a9 Mon Sep 17 00:00:00 2001 | 1 | From adb1b8d8cc2a8fb99f474d9166db9f68b8f3f8b4 Mon Sep 17 00:00:00 2001 |
2 | From: Nagaraju <nmekala@xilinx.com> | 2 | From: Nagaraju <nmekala@xilinx.com> |
3 | Date: Fri, 23 Aug 2019 16:16:53 +0530 | 3 | Date: Fri, 23 Aug 2019 16:16:53 +0530 |
4 | Subject: [PATCH 55/58] Added new MB-64 single register arithmetic instructions | 4 | Subject: [PATCH 49/54] 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 | ||
10 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md | 10 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md |
11 | index 6cc62666269..696be7b300f 100644 | 11 | index 60afd9be288..1ad139cbd44 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-10/0056-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0050-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch index afe3ae96..d452b988 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0056-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0050-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 1dadde6d9a49010a495529c9b5ea6c2bb75cc5f1 Mon Sep 17 00:00:00 2001 | 1 | From 797697692635d4c536181cb007b3b0d63d2431c1 Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Mon, 26 Aug 2019 15:55:22 +0530 | 3 | Date: Mon, 26 Aug 2019 15:55:22 +0530 |
4 | Subject: [PATCH 56/58] [Patch,MicroBlaze] : Added support for 64 bit Immediate | 4 | Subject: [PATCH 50/54] [Patch,MicroBlaze] : Added support for 64 bit Immediate |
5 | values. | 5 | values. |
6 | 6 | ||
7 | --- | 7 | --- |
@@ -10,7 +10,7 @@ Subject: [PATCH 56/58] [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 | ||
12 | diff --git a/gcc/config/microblaze/constraints.md b/gcc/config/microblaze/constraints.md | 12 | diff --git a/gcc/config/microblaze/constraints.md b/gcc/config/microblaze/constraints.md |
13 | index 4a6cf419671..2432b480a2c 100644 | 13 | index 89db511c453..9ad2b099310 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 @@ |
@@ -23,10 +23,10 @@ index 4a6cf419671..2432b480a2c 100644 | |||
23 | - (match_test "ival > (long long)-549755813888 && ival < (long long)549755813887"))) | 23 | - (match_test "ival > (long long)-549755813888 && ival < (long long)549755813887"))) |
24 | + (match_test "ival > (long long)-9223372036854775808 && ival < (long long)9223372036854775807"))) | 24 | + (match_test "ival > (long long)-9223372036854775808 && ival < (long long)9223372036854775807"))) |
25 | 25 | ||
26 | ;; Define floating point constraints | ||
27 | 26 | ||
27 | ;; Define floating point constraints | ||
28 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md | 28 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md |
29 | index 696be7b300f..f0a9701ab18 100644 | 29 | index 1ad139cbd44..93de8d831fd 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 | @@ -1334,8 +1334,7 @@ |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0057-Patch-microblaze-Fix-Compiler-crash-with-freg-struct.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0051-Patch-microblaze-Fix-Compiler-crash-with-freg-struct.patch index ebd707c9..3e0c483b 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0057-Patch-microblaze-Fix-Compiler-crash-with-freg-struct.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0051-Patch-microblaze-Fix-Compiler-crash-with-freg-struct.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From ab73daf6bf1bc652e9557386cba5eb237af66350 Mon Sep 17 00:00:00 2001 | 1 | From 697db2e2c2519f27011fbd1960cd8860133aaa84 Mon Sep 17 00:00:00 2001 |
2 | From: Nagaraju <nmekala@xilinx.com> | 2 | From: Nagaraju <nmekala@xilinx.com> |
3 | Date: Thu, 9 Jan 2020 12:30:41 +0530 | 3 | Date: Thu, 9 Jan 2020 12:30:41 +0530 |
4 | Subject: [PATCH 57/58] [Patch, microblaze]: Fix Compiler crash with | 4 | Subject: [PATCH 51/54] [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,10 +23,10 @@ ChangeLog: | |||
23 | 2 files changed, 10 insertions(+), 20 deletions(-) | 23 | 2 files changed, 10 insertions(+), 20 deletions(-) |
24 | 24 | ||
25 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c | 25 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c |
26 | index 5b4c21af365..31869982d27 100644 | 26 | index 7b48c011550..1bba77dab6d 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 | @@ -4038,7 +4038,16 @@ microblaze_function_value (const_tree valtype, | 29 | @@ -3908,7 +3908,16 @@ microblaze_function_value (const_tree valtype, |
30 | const_tree func ATTRIBUTE_UNUSED, | 30 | const_tree func ATTRIBUTE_UNUSED, |
31 | bool outgoing ATTRIBUTE_UNUSED) | 31 | bool outgoing ATTRIBUTE_UNUSED) |
32 | { | 32 | { |
@@ -45,7 +45,7 @@ index 5b4c21af365..31869982d27 100644 | |||
45 | 45 | ||
46 | /* Implement TARGET_SCHED_ADJUST_COST. */ | 46 | /* Implement TARGET_SCHED_ADJUST_COST. */ |
47 | diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h | 47 | diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h |
48 | index 0c493b6f6e4..5eb95c2600a 100644 | 48 | index bfa7bc9a01c..d467a7ee65d 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-10/0054-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0052-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch index 70e05117..91c7c026 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0054-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0052-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 6bdb6f300593c4a633a8ec485ac2744a97b51460 Mon Sep 17 00:00:00 2001 | 1 | From d7d6835bd839150e864cbb0d9c9c7a497e93bbb8 Mon Sep 17 00:00:00 2001 |
2 | From: Nagaraju <nmekala@xilinx.com> | 2 | From: Nagaraju <nmekala@xilinx.com> |
3 | Date: Wed, 8 May 2019 14:12:03 +0530 | 3 | Date: Wed, 8 May 2019 14:12:03 +0530 |
4 | Subject: [PATCH 54/58] [Patch, microblaze]: Add TARGET_OPTION_OPTIMIZATION and | 4 | Subject: [PATCH 52/54] [Patch, microblaze]: Add TARGET_OPTION_OPTIMIZATION and |
5 | disable fivopts by default | 5 | disable fivopts by default |
6 | 6 | ||
7 | Added TARGET_OPTION_OPTIMIZATIONS and Turn off ivopts by default. | 7 | Added TARGET_OPTION_OPTIMIZATIONS and Turn off ivopts by default. |
@@ -10,26 +10,30 @@ Added TARGET_OPTION_OPTIMIZATIONS and Turn off ivopts by default. | |||
10 | (microblaze_option_optimization_table): Disable fivopts by default. | 10 | (microblaze_option_optimization_table): Disable fivopts by default. |
11 | 11 | ||
12 | Signed-off-by: Nagaraju Mekala <nmekala@xilinx.com> | 12 | Signed-off-by: Nagaraju Mekala <nmekala@xilinx.com> |
13 | |||
14 | Conflicts: | ||
15 | gcc/common/config/microblaze/microblaze-common.c | ||
13 | --- | 16 | --- |
14 | gcc/common/config/microblaze/microblaze-common.c | 6 ++++-- | 17 | gcc/common/config/microblaze/microblaze-common.c | 11 +++++++++++ |
15 | 1 file changed, 4 insertions(+), 2 deletions(-) | 18 | 1 file changed, 11 insertions(+) |
16 | 19 | ||
17 | diff --git a/gcc/common/config/microblaze/microblaze-common.c b/gcc/common/config/microblaze/microblaze-common.c | 20 | diff --git a/gcc/common/config/microblaze/microblaze-common.c b/gcc/common/config/microblaze/microblaze-common.c |
18 | index 0b9d5a1b453..cf2db8afe36 100644 | 21 | index 4391f939626..cf2db8afe36 100644 |
19 | --- a/gcc/common/config/microblaze/microblaze-common.c | 22 | --- a/gcc/common/config/microblaze/microblaze-common.c |
20 | +++ b/gcc/common/config/microblaze/microblaze-common.c | 23 | +++ b/gcc/common/config/microblaze/microblaze-common.c |
21 | @@ -27,13 +27,15 @@ | 24 | @@ -24,7 +24,18 @@ |
22 | /* Implement TARGET_OPTION_OPTIMIZATION_TABLE. */ | 25 | #include "common/common-target.h" |
23 | static const struct default_options microblaze_option_optimization_table[] = | 26 | #include "common/common-target-def.h" |
24 | { | 27 | |
25 | - /* Turn off ivopts by default. It messes up cse. */ | 28 | +/* Implement TARGET_OPTION_OPTIMIZATION_TABLE. */ |
29 | +static const struct default_options microblaze_option_optimization_table[] = | ||
30 | + { | ||
26 | + /* Turn off ivopts by default. It messes up cse. | 31 | + /* Turn off ivopts by default. It messes up cse. |
27 | + { OPT_LEVELS_1_PLUS, OPT_fomit_frame_pointer, NULL, 1 }, */ | 32 | + { OPT_LEVELS_1_PLUS, OPT_fomit_frame_pointer, NULL, 1 }, */ |
28 | { OPT_LEVELS_ALL, OPT_fivopts, NULL, 0 }, | 33 | + { OPT_LEVELS_ALL, OPT_fivopts, NULL, 0 }, |
29 | - { OPT_LEVELS_1_PLUS, OPT_fomit_frame_pointer, NULL, 1 }, | 34 | + { OPT_LEVELS_NONE, 0, NULL, 0 } |
30 | { OPT_LEVELS_NONE, 0, NULL, 0 } | 35 | + }; |
31 | }; | 36 | + |
32 | |||
33 | #undef TARGET_DEFAULT_TARGET_FLAGS | 37 | #undef TARGET_DEFAULT_TARGET_FLAGS |
34 | #define TARGET_DEFAULT_TARGET_FLAGS TARGET_DEFAULT | 38 | #define TARGET_DEFAULT_TARGET_FLAGS TARGET_DEFAULT |
35 | 39 | ||
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0018-Patch-microblaze-Reducing-Stack-space-for-arguments.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0053-Patch-microblaze-Reducing-Stack-space-for-arguments.patch index 1f8decc7..377154d7 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0018-Patch-microblaze-Reducing-Stack-space-for-arguments.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0053-Patch-microblaze-Reducing-Stack-space-for-arguments.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 59273a71f1f180456d87eb4a1a5f95fcc6d17003 Mon Sep 17 00:00:00 2001 | 1 | From e146b21e18e51ab6ce77af2c39cdf3375606c1eb Mon Sep 17 00:00:00 2001 |
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> |
3 | Date: Tue, 17 Jan 2017 16:42:44 +0530 | 3 | Date: Tue, 24 Nov 2020 12:26:32 +0530 |
4 | Subject: [PATCH 18/58] [Patch, microblaze]: Reducing Stack space for arguments | 4 | Subject: [PATCH 53/54] [Patch, microblaze]: Reducing Stack space for arguments |
5 | 5 | ||
6 | Currently in Microblaze target stack space for arguments in register is being | 6 | Currently in Microblaze target stack space for arguments in register is being |
7 | allocated even if there are no arguments in the function. | 7 | allocated even if there are no arguments in the function. |
@@ -9,13 +9,6 @@ This patch will optimize the extra 24 bytes that are being allocated. | |||
9 | 9 | ||
10 | Signed-off-by :Nagaraju Mekala <nmekala@xilix.com> | 10 | Signed-off-by :Nagaraju Mekala <nmekala@xilix.com> |
11 | :Ajit Agarwal <ajitkum@xilinx.com> | 11 | :Ajit Agarwal <ajitkum@xilinx.com> |
12 | |||
13 | ChangeLog: | ||
14 | 2015-04-17 Nagaraju Mekala <nmekala@xilix.com> | ||
15 | Ajit Agarwal <ajitkum@xilinx.com> | ||
16 | |||
17 | *microblaze.c (microblaze_parm_needs_stack, microblaze_function_parms_need_stack): New | ||
18 | *microblaze.c (REG_PARM_STACK_SPACE): Modify | ||
19 | --- | 12 | --- |
20 | gcc/config/microblaze/microblaze-protos.h | 1 + | 13 | gcc/config/microblaze/microblaze-protos.h | 1 + |
21 | gcc/config/microblaze/microblaze.c | 132 +++++++++++++++++++++- | 14 | gcc/config/microblaze/microblaze.c | 132 +++++++++++++++++++++- |
@@ -23,10 +16,10 @@ ChangeLog: | |||
23 | 3 files changed, 134 insertions(+), 3 deletions(-) | 16 | 3 files changed, 134 insertions(+), 3 deletions(-) |
24 | 17 | ||
25 | diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h | 18 | diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h |
26 | index 982b2abd2d4..96f7bb67f6c 100644 | 19 | index 460feac4ac5..b8a3321dbdf 100644 |
27 | --- a/gcc/config/microblaze/microblaze-protos.h | 20 | --- a/gcc/config/microblaze/microblaze-protos.h |
28 | +++ b/gcc/config/microblaze/microblaze-protos.h | 21 | +++ b/gcc/config/microblaze/microblaze-protos.h |
29 | @@ -59,6 +59,7 @@ extern int symbol_mentioned_p (rtx); | 22 | @@ -60,6 +60,7 @@ extern int symbol_mentioned_p (rtx); |
30 | extern int label_mentioned_p (rtx); | 23 | extern int label_mentioned_p (rtx); |
31 | extern bool microblaze_cannot_force_const_mem (machine_mode, rtx); | 24 | extern bool microblaze_cannot_force_const_mem (machine_mode, rtx); |
32 | extern void microblaze_eh_return (rtx op0); | 25 | extern void microblaze_eh_return (rtx op0); |
@@ -35,10 +28,10 @@ index 982b2abd2d4..96f7bb67f6c 100644 | |||
35 | 28 | ||
36 | /* Declare functions in microblaze-c.c. */ | 29 | /* Declare functions in microblaze-c.c. */ |
37 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c | 30 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c |
38 | index 9eae5515c60..a4bdf66f045 100644 | 31 | index 1bba77dab6d..dac0596bc7d 100644 |
39 | --- a/gcc/config/microblaze/microblaze.c | 32 | --- a/gcc/config/microblaze/microblaze.c |
40 | +++ b/gcc/config/microblaze/microblaze.c | 33 | +++ b/gcc/config/microblaze/microblaze.c |
41 | @@ -2057,6 +2057,136 @@ microblaze_must_save_register (int regno) | 34 | @@ -2080,6 +2080,136 @@ microblaze_must_save_register (int regno) |
42 | return 0; | 35 | return 0; |
43 | } | 36 | } |
44 | 37 | ||
@@ -120,8 +113,8 @@ index 9eae5515c60..a4bdf66f045 100644 | |||
120 | + args_so_far = pack_cumulative_args (&args_so_far_v); | 113 | + args_so_far = pack_cumulative_args (&args_so_far_v); |
121 | + | 114 | + |
122 | + /* When incoming, we will have been passed the function decl. | 115 | + /* When incoming, we will have been passed the function decl. |
123 | + * It is necessary to use the decl to handle K&R style functions, | 116 | + * * It is necessary to use the decl to handle K&R style functions, |
124 | + * where TYPE_ARG_TYPES may not be available. */ | 117 | + * * where TYPE_ARG_TYPES may not be available. */ |
125 | + if (incoming) | 118 | + if (incoming) |
126 | + { | 119 | + { |
127 | + gcc_assert (DECL_P (fun)); | 120 | + gcc_assert (DECL_P (fun)); |
@@ -153,7 +146,7 @@ index 9eae5515c60..a4bdf66f045 100644 | |||
153 | + | 146 | + |
154 | + FOREACH_FUNCTION_ARGS (fntype, arg_type, args_iter) | 147 | + FOREACH_FUNCTION_ARGS (fntype, arg_type, args_iter) |
155 | + { | 148 | + { |
156 | + num_of_args++; | 149 | + num_of_args; |
157 | + if (microblaze_parm_needs_stack (args_so_far, arg_type)) | 150 | + if (microblaze_parm_needs_stack (args_so_far, arg_type)) |
158 | + return true; | 151 | + return true; |
159 | + } | 152 | + } |
@@ -175,30 +168,30 @@ index 9eae5515c60..a4bdf66f045 100644 | |||
175 | /* Return the bytes needed to compute the frame pointer from the current | 168 | /* Return the bytes needed to compute the frame pointer from the current |
176 | stack pointer. | 169 | stack pointer. |
177 | 170 | ||
178 | @@ -3403,7 +3533,7 @@ microblaze_asm_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED, | 171 | @@ -3470,7 +3600,7 @@ microblaze_asm_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED, |
179 | emit_insn (gen_indirect_jump (temp2)); | 172 | emit_insn (gen_indirect_jump (temp2)); |
180 | 173 | ||
181 | /* Run just enough of rest_of_compilation. This sequence was | 174 | /* Run just enough of rest_of_compilation. This sequence was |
182 | - "borrowed" from rs6000.c. */ | 175 | - "borrowed" from rs6000.c. */ |
183 | + "borrowed" from microblaze.c. */ | 176 | + "borrowed" from microblaze.c */ |
184 | insn = get_insns (); | 177 | insn = get_insns (); |
185 | shorten_branches (insn); | 178 | shorten_branches (insn); |
186 | assemble_start_function (thunk_fndecl, fnname); | 179 | assemble_start_function (thunk_fndecl, fnname); |
187 | diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h | 180 | diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h |
188 | index 8aa3f155790..1e155e4041c 100644 | 181 | index d467a7ee65d..be6c798c889 100644 |
189 | --- a/gcc/config/microblaze/microblaze.h | 182 | --- a/gcc/config/microblaze/microblaze.h |
190 | +++ b/gcc/config/microblaze/microblaze.h | 183 | +++ b/gcc/config/microblaze/microblaze.h |
191 | @@ -434,9 +434,9 @@ extern struct microblaze_frame_info current_frame_info; | 184 | @@ -447,9 +447,9 @@ extern struct microblaze_frame_info current_frame_info; |
192 | |||
193 | #define ARG_POINTER_CFA_OFFSET(FNDECL) 0 | 185 | #define ARG_POINTER_CFA_OFFSET(FNDECL) 0 |
186 | #define DWARF_CIE_DATA_ALIGNMENT -1 | ||
194 | 187 | ||
195 | -#define REG_PARM_STACK_SPACE(FNDECL) (MAX_ARGS_IN_REGISTERS * UNITS_PER_WORD) | 188 | -#define REG_PARM_STACK_SPACE(FNDECL) (MAX_ARGS_IN_REGISTERS * UNITS_PER_WORD) |
196 | +#define REG_PARM_STACK_SPACE(FNDECL) microblaze_reg_parm_stack_space(FNDECL) | 189 | +#define REG_PARM_STACK_SPACE(FNDECL) microblaze_reg_parm_stack_space(FNDECL) |
197 | 190 | ||
198 | -#define OUTGOING_REG_PARM_STACK_SPACE(FNTYPE) 1 | 191 | -#define OUTGOING_REG_PARM_STACK_SPACE(FNTYPE) 1 |
199 | +#define OUTGOING_REG_PARM_STACK_SPACE(FNTYPE) 1 | 192 | +#define OUTGOING_REG_PARM_STACK_SPACE(FNTYPE) 1 |
200 | 193 | ||
201 | #define STACK_BOUNDARY 32 | 194 | #define STACK_BOUNDARY (TARGET_MB_64 ? 64 : 32) |
202 | 195 | ||
203 | -- | 196 | -- |
204 | 2.17.1 | 197 | 2.17.1 |
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0058-microblaze-Avoid-UINTPTR_TYPE-macro-redefinition.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0058-microblaze-Avoid-UINTPTR_TYPE-macro-redefinition.patch deleted file mode 100644 index e3c4b87b..00000000 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0058-microblaze-Avoid-UINTPTR_TYPE-macro-redefinition.patch +++ /dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | From dd73d8ba32c0c24f17a54538b9bb54beb5d8d4e0 Mon Sep 17 00:00:00 2001 | ||
2 | From: Mark Hatle <mark.hatle@kernel.crashing.org> | ||
3 | Date: Thu, 13 Aug 2020 16:28:57 -0500 | ||
4 | Subject: [PATCH 58/58] microblaze: Avoid UINTPTR_TYPE macro redefinition | ||
5 | |||
6 | Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> | ||
7 | --- | ||
8 | gcc/config/microblaze/microblaze.h | 5 ----- | ||
9 | 1 file changed, 5 deletions(-) | ||
10 | |||
11 | diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h | ||
12 | index 5eb95c2600a..4cb98bac849 100644 | ||
13 | --- a/gcc/config/microblaze/microblaze.h | ||
14 | +++ b/gcc/config/microblaze/microblaze.h | ||
15 | @@ -246,11 +246,6 @@ extern enum pipeline_type microblaze_pipe; | ||
16 | #undef PTRDIFF_TYPE | ||
17 | #define PTRDIFF_TYPE (TARGET_MB_64 ? "long int" : "int") | ||
18 | |||
19 | -/*#undef INTPTR_TYPE | ||
20 | -#define INTPTR_TYPE (TARGET_MB_64 ? "long int" : "int")*/ | ||
21 | -#undef UINTPTR_TYPE | ||
22 | -#define UINTPTR_TYPE (TARGET_MB_64 ? "long unsigned int" : "unsigned int") | ||
23 | - | ||
24 | #define DATA_ALIGNMENT(TYPE, ALIGN) \ | ||
25 | ((((ALIGN) < BITS_PER_WORD) \ | ||
26 | && (TREE_CODE (TYPE) == ARRAY_TYPE \ | ||
27 | -- | ||
28 | 2.17.1 | ||
29 | |||
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0059-microblaze-multilib-hack.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/microblaze-mulitlib-hack.patch index af8ebf3b..af8ebf3b 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-10/0059-microblaze-multilib-hack.patch +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/microblaze-mulitlib-hack.patch | |||
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-source_10.%.bbappend b/meta-microblaze/recipes-devtools/gcc/gcc-source_10.%.bbappend index 7e8c1fa5..f1ba2ea6 100644 --- a/meta-microblaze/recipes-devtools/gcc/gcc-source_10.%.bbappend +++ b/meta-microblaze/recipes-devtools/gcc/gcc-source_10.%.bbappend | |||
@@ -4,61 +4,56 @@ FILESEXTRAPATHS_append_microblaze := ":${THISDIR}/gcc-10" | |||
4 | SRC_URI_append_microblaze = " \ | 4 | SRC_URI_append_microblaze = " \ |
5 | file://0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch \ | 5 | file://0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch \ |
6 | file://0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch \ | 6 | file://0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch \ |
7 | file://0003-LOCAL-Testsuite-explicitly-add-fivopts-for-tests-tha.patch \ | 7 | file://0003-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch \ |
8 | file://0004-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch \ | 8 | file://0004-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch \ |
9 | file://0005-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch \ | 9 | file://0005-Patch-testsuite-Update-MicroBlaze-strings-test.patch \ |
10 | file://0006-Patch-testsuite-Update-MicroBlaze-strings-test.patch \ | 10 | file://0006-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch \ |
11 | file://0007-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch \ | 11 | file://0007-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch \ |
12 | file://0008-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch \ | 12 | file://0008-Patch-microblaze-Fix-atomic-side-effects.patch \ |
13 | file://0009-Patch-microblaze-Fix-atomic-side-effects.patch \ | 13 | file://0009-Patch-microblaze-Fix-atomic-boolean-return-value.patch \ |
14 | file://0010-Patch-microblaze-Fix-atomic-boolean-return-value.patch \ | 14 | file://0010-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch \ |
15 | file://0011-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch \ | 15 | file://0011-Patch-microblaze-Added-ashrsi3_with_size_opt.patch \ |
16 | file://0012-Patch-microblaze-Added-ashrsi3_with_size_opt.patch \ | 16 | file://0012-Patch-microblaze-Use-bralid-for-profiler-calls.patch \ |
17 | file://0013-Patch-microblaze-Use-bralid-for-profiler-calls.patch \ | 17 | file://0013-Patch-microblaze-Removed-moddi3-routinue.patch \ |
18 | file://0014-Patch-microblaze-Disable-fivopts-by-default.patch \ | 18 | file://0014-Patch-microblaze-Add-INIT_PRIORITY-support.patch \ |
19 | file://0015-Patch-microblaze-Removed-moddi3-routinue.patch \ | 19 | file://0015-Patch-microblaze-Add-optimized-lshrsi3.patch \ |
20 | file://0016-Patch-microblaze-Add-INIT_PRIORITY-support.patch \ | 20 | file://0016-Patch-microblaze-Add-cbranchsi4_reg.patch \ |
21 | file://0017-Patch-microblaze-Add-optimized-lshrsi3.patch \ | 21 | file://0017-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch \ |
22 | file://0018-Patch-microblaze-Reducing-Stack-space-for-arguments.patch \ | 22 | file://0018-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch \ |
23 | file://0019-Patch-microblaze-Add-cbranchsi4_reg.patch \ | 23 | file://0019-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch \ |
24 | file://0020-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch \ | 24 | file://0020-Patch-microblaze-8-stage-pipeline-for-microblaze.patch \ |
25 | file://0021-Patch-OPT-Update-heuristics-for-loop-invariant-for-a.patch \ | 25 | file://0021-Patch-microblaze-Correct-the-const-high-double-immed.patch \ |
26 | file://0022-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch \ | 26 | file://0022-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch \ |
27 | file://0023-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch \ | 27 | file://0023-patch-microblaze-Fix-the-calculation-of-high-word-in.patch \ |
28 | file://0024-Patch-microblaze-8-stage-pipeline-for-microblaze.patch \ | 28 | file://0024-Patch-microblaze-Add-new-bit-field-instructions.patch \ |
29 | file://0025-Patch-rtl-Optimization-Better-register-pressure-esti.patch \ | 29 | file://0025-Patch-microblaze-Fix-bug-in-MB-version-calculation.patch \ |
30 | file://0026-Patch-microblaze-Correct-the-const-high-double-immed.patch \ | 30 | file://0026-Fixing-the-issue-with-the-builtin_alloc.patch \ |
31 | file://0027-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch \ | 31 | file://0027-Patch-Microblaze-update-in-constraints-for-bitfield-.patch \ |
32 | file://0028-patch-microblaze-Fix-the-calculation-of-high-word-in.patch \ | 32 | file://0028-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch \ |
33 | file://0029-Patch-microblaze-Add-new-bit-field-instructions.patch \ | 33 | file://0029-Patch-MicroBlaze-Intial-commit-of-64-bit-Microblaze.patch \ |
34 | file://0030-Patch-microblaze-Fix-bug-in-MB-version-calculation.patch \ | 34 | file://0030-Intial-commit-for-64bit-MB-sources.patch \ |
35 | file://0031-Fixing-the-issue-with-the-builtin_alloc.patch \ | 35 | file://0031-re-arrangement-of-the-compare-branches.patch \ |
36 | file://0032-Patch-Microblaze-update-in-constraints-for-bitfield-.patch \ | 36 | file://0032-Patch-Microblaze-previous-commit-broke-the-handling-.patch \ |
37 | file://0033-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch \ | 37 | file://0033-Patch-Microblaze-Support-of-multilibs-with-m64.patch \ |
38 | file://0034-Intial-commit-of-64-bit-Microblaze.patch \ | 38 | file://0034-Fixed-issues-like.patch \ |
39 | file://0035-Intial-commit-for-64bit-MB-sources.patch \ | 39 | file://0035-Fixed-below-issues.patch \ |
40 | file://0036-re-arrangement-of-the-compare-branches.patch \ | 40 | file://0036-Added-double-arith-instructions.patch \ |
41 | file://0037-Patch-Microblaze-previous-commit-broke-the-handling-.patch \ | 41 | file://0037-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch \ |
42 | file://0038-Patch-Microblaze-Support-of-multilibs-with-m64.patch \ | 42 | file://0038-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch \ |
43 | file://0039-Fix-various-issues.patch \ | 43 | file://0039-extending-the-Dwarf-support-to-64bit-Microblaze.patch \ |
44 | file://0040-Fixed-below-issues.patch \ | 44 | file://0040-fixing-the-typo-errors-in-umodsi3-file.patch \ |
45 | file://0041-Fix-various.patch \ | 45 | file://0041-fixing-the-32bit-LTO-related-issue9-1014024.patch \ |
46 | file://0042-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch \ | 46 | file://0042-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch \ |
47 | file://0043-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch \ | 47 | file://0043-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch \ |
48 | file://0044-extending-the-Dwarf-support-to-64bit-Microblaze.patch \ | 48 | file://0044-fixing-the-long-long-long-mingw-toolchain-issue.patch \ |
49 | file://0045-fixing-the-typo-errors-in-umodsi3-file.patch \ | 49 | file://0045-Fix-the-MB-64-bug-of-handling-QI-objects.patch \ |
50 | file://0046-fixing-the-32bit-LTO-related-issue9-1014024.patch \ | 50 | file://0046-Patch-Microblaze-We-will-check-the-possibility-of-pe.patch \ |
51 | file://0047-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch \ | 51 | file://0047-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch \ |
52 | file://0048-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch \ | 52 | file://0048-Author-Nagaraju-nmekala-xilinx.com.patch \ |
53 | file://0049-fixing-the-long-long-long-mingw-toolchain-issue.patch \ | 53 | file://0049-Added-new-MB-64-single-register-arithmetic-instructi.patch \ |
54 | file://0050-Fix-the-MB-64-bug-of-handling-QI-objects.patch \ | 54 | file://0050-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch \ |
55 | file://0051-Patch-Microblaze-Check-the-possibiity-of-peephole2-o.patch \ | 55 | file://0051-Patch-microblaze-Fix-Compiler-crash-with-freg-struct.patch \ |
56 | file://0052-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch \ | 56 | file://0052-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch \ |
57 | file://0053-Patch-microblaze-MB-64-removal-of-barrel-shift-instr.patch \ | 57 | file://0053-Patch-microblaze-Reducing-Stack-space-for-arguments.patch \ |
58 | file://0054-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch \ | 58 | file://microblaze-mulitlib-hack.patch \ |
59 | file://0055-Added-new-MB-64-single-register-arithmetic-instructi.patch \ | ||
60 | file://0056-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch \ | ||
61 | file://0057-Patch-microblaze-Fix-Compiler-crash-with-freg-struct.patch \ | ||
62 | file://0058-microblaze-Avoid-UINTPTR_TYPE-macro-redefinition.patch \ | ||
63 | file://0059-microblaze-multilib-hack.patch \ | ||
64 | " | 59 | " |