diff options
Diffstat (limited to 'meta-microblaze/recipes-devtools/gcc/gcc-11/0032-Fixed-issues-like.patch')
| -rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-11/0032-Fixed-issues-like.patch | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-11/0032-Fixed-issues-like.patch b/meta-microblaze/recipes-devtools/gcc/gcc-11/0032-Fixed-issues-like.patch new file mode 100644 index 00000000..9f5381af --- /dev/null +++ b/meta-microblaze/recipes-devtools/gcc/gcc-11/0032-Fixed-issues-like.patch | |||
| @@ -0,0 +1,70 @@ | |||
| 1 | From c03a994475d8894ae0913dd3534e72bfb389aa28 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Nagaraju Mekala <nmekala@xilix.com> | ||
| 3 | Date: Tue, 11 Sep 2018 14:58:00 +0530 | ||
| 4 | Subject: [PATCH 32/53] Fixed issues like: 1 Interrupt alignment issue 2 Sign | ||
| 5 | extension issue | ||
| 6 | |||
| 7 | --- | ||
| 8 | gcc/config/microblaze/microblaze.c | 16 ++++++++++------ | ||
| 9 | gcc/config/microblaze/microblaze.md | 2 +- | ||
| 10 | 2 files changed, 11 insertions(+), 7 deletions(-) | ||
| 11 | |||
| 12 | diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c | ||
| 13 | index e33e1bc1482..64b948d6cfc 100644 | ||
| 14 | --- a/gcc/config/microblaze/microblaze.c | ||
| 15 | +++ b/gcc/config/microblaze/microblaze.c | ||
| 16 | @@ -2177,9 +2177,14 @@ compute_frame_size (HOST_WIDE_INT size) | ||
| 17 | |||
| 18 | total_size += gp_reg_size; | ||
| 19 | |||
| 20 | - /* Add 4 bytes for MSR. */ | ||
| 21 | + /* Add 4/8 bytes for MSR. */ | ||
| 22 | if (microblaze_is_interrupt_variant ()) | ||
| 23 | - total_size += 4; | ||
| 24 | + { | ||
| 25 | + if (TARGET_MB_64) | ||
| 26 | + total_size += 8; | ||
| 27 | + else | ||
| 28 | + total_size += 4; | ||
| 29 | + } | ||
| 30 | |||
| 31 | /* No space to be allocated for link register in leaf functions with no other | ||
| 32 | stack requirements. */ | ||
| 33 | @@ -2464,7 +2469,6 @@ print_operand (FILE * file, rtx op, int letter) | ||
| 34 | else if (letter == 'h' || letter == 'j') | ||
| 35 | { | ||
| 36 | long val[2]; | ||
| 37 | - int val1[2]; | ||
| 38 | long l[2]; | ||
| 39 | if (code == CONST_DOUBLE) | ||
| 40 | { | ||
| 41 | @@ -2479,10 +2483,10 @@ print_operand (FILE * file, rtx op, int letter) | ||
| 42 | } | ||
| 43 | else if (code == CONST_INT || code == CONST)// || code == SYMBOL_REF ||code == LABEL_REF) | ||
| 44 | { | ||
| 45 | - val1[0] = (INTVAL (op) & 0xffffffff00000000LL) >> 32; | ||
| 46 | - val1[1] = INTVAL (op) & 0x00000000ffffffffLL; | ||
| 47 | + val[0] = (INTVAL (op) & 0xffffffff00000000LL) >> 32; | ||
| 48 | + val[1] = INTVAL (op) & 0x00000000ffffffffLL; | ||
| 49 | } | ||
| 50 | - fprintf (file, "0x%8.8lx", (letter == 'h') ? val1[0] : val1[1]); | ||
| 51 | + fprintf (file, "0x%8.8lx", (letter == 'h') ? val[0] : val[1]); | ||
| 52 | } | ||
| 53 | else if (code == CONST_DOUBLE) | ||
| 54 | { | ||
| 55 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md | ||
| 56 | index 87158066562..b154d15c34c 100644 | ||
| 57 | --- a/gcc/config/microblaze/microblaze.md | ||
| 58 | +++ b/gcc/config/microblaze/microblaze.md | ||
| 59 | @@ -1096,7 +1096,7 @@ | ||
| 60 | case 1: | ||
| 61 | case 2: | ||
| 62 | { | ||
| 63 | - output_asm_insn ("ll%i1\t%0,%1", operands); | ||
| 64 | + output_asm_insn ("lw%i1\t%0,%1", operands); | ||
| 65 | return "sextl32\t%0,%0"; | ||
| 66 | } | ||
| 67 | } | ||
| 68 | -- | ||
| 69 | 2.17.1 | ||
| 70 | |||
