diff options
Diffstat (limited to 'meta-microblaze/recipes-devtools/gcc/gcc-10/0063-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch')
| -rw-r--r-- | meta-microblaze/recipes-devtools/gcc/gcc-10/0063-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/meta-microblaze/recipes-devtools/gcc/gcc-10/0063-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch b/meta-microblaze/recipes-devtools/gcc/gcc-10/0063-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch new file mode 100644 index 00000000..edf6a0f3 --- /dev/null +++ b/meta-microblaze/recipes-devtools/gcc/gcc-10/0063-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch | |||
| @@ -0,0 +1,44 @@ | |||
| 1 | From d4b23a1dd0564bcf67b5b88a68d62eb49bdab15d Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | ||
| 3 | Date: Mon, 26 Aug 2019 15:55:22 +0530 | ||
| 4 | Subject: [PATCH 63/63] [Patch,MicroBlaze] : Added support for 64 bit Immediate | ||
| 5 | values. | ||
| 6 | |||
| 7 | --- | ||
| 8 | gcc/config/microblaze/constraints.md | 4 ++-- | ||
| 9 | gcc/config/microblaze/microblaze.md | 3 +-- | ||
| 10 | 2 files changed, 3 insertions(+), 4 deletions(-) | ||
| 11 | |||
| 12 | diff --git a/gcc/config/microblaze/constraints.md b/gcc/config/microblaze/constraints.md | ||
| 13 | index 9a5aa6b..e87a90f 100644 | ||
| 14 | --- a/gcc/config/microblaze/constraints.md | ||
| 15 | +++ b/gcc/config/microblaze/constraints.md | ||
| 16 | @@ -53,9 +53,9 @@ | ||
| 17 | (match_test "ival > 0 && ival < 0x10000"))) | ||
| 18 | |||
| 19 | (define_constraint "K" | ||
| 20 | - "A constant in the range 0xffffff8000000000L to 0x0000007fffffffffL (inclusive)." | ||
| 21 | + "A constant in the range -9223372036854775808 to 9223372036854775807 (inclusive)." | ||
| 22 | (and (match_code "const_int") | ||
| 23 | - (match_test "ival > (long long)-549755813888 && ival < (long long)549755813887"))) | ||
| 24 | + (match_test "ival > (long long)-9223372036854775808 && ival < (long long)9223372036854775807"))) | ||
| 25 | |||
| 26 | ;; Define floating point constraints | ||
| 27 | |||
| 28 | diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md | ||
| 29 | index 4d40cc5..6e74503 100644 | ||
| 30 | --- a/gcc/config/microblaze/microblaze.md | ||
| 31 | +++ b/gcc/config/microblaze/microblaze.md | ||
| 32 | @@ -1334,8 +1334,7 @@ | ||
| 33 | [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d") | ||
| 34 | (match_operand:DI 1 "immediate_operand" "J,I,Mnis"))] | ||
| 35 | "TARGET_MB_64 && (register_operand (operands[0], DImode) && | ||
| 36 | - (GET_CODE (operands[1]) == CONST_INT && | ||
| 37 | - (INTVAL (operands[1]) <= (long long)549755813887 && INTVAL (operands[1]) >= (long long)-549755813888)))" | ||
| 38 | + (GET_CODE (operands[1]) == CONST_INT))" | ||
| 39 | "@ | ||
| 40 | addlk\t%0,r0,r0\t | ||
| 41 | addlik\t%0,r0,%1\t #N1 %X1 | ||
| 42 | -- | ||
| 43 | 2.7.4 | ||
| 44 | |||
