| From 1dadde6d9a49010a495529c9b5ea6c2bb75cc5f1 Mon Sep 17 00:00:00 2001 |
| From: Mahesh Bodapati <mbodapat@xilinx.com> |
| Date: Mon, 26 Aug 2019 15:55:22 +0530 |
| Subject: [PATCH 56/58] [Patch,MicroBlaze] : Added support for 64 bit Immediate |
| values. |
| |
| --- |
| gcc/config/microblaze/constraints.md | 4 ++-- |
| gcc/config/microblaze/microblaze.md | 3 +-- |
| 2 files changed, 3 insertions(+), 4 deletions(-) |
| |
| diff --git a/gcc/config/microblaze/constraints.md b/gcc/config/microblaze/constraints.md |
| index 4a6cf419671..2432b480a2c 100644 |
| --- a/gcc/config/microblaze/constraints.md |
| +++ b/gcc/config/microblaze/constraints.md |
| @@ -53,9 +53,9 @@ |
| (match_test "ival > 0 && ival < 0x10000"))) |
| |
| (define_constraint "K" |
| - "A constant in the range 0xffffff8000000000L to 0x0000007fffffffffL (inclusive)." |
| + "A constant in the range -9223372036854775808 to 9223372036854775807 (inclusive)." |
| (and (match_code "const_int") |
| - (match_test "ival > (long long)-549755813888 && ival < (long long)549755813887"))) |
| + (match_test "ival > (long long)-9223372036854775808 && ival < (long long)9223372036854775807"))) |
| |
| ;; Define floating point constraints |
| |
| diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md |
| index 696be7b300f..f0a9701ab18 100644 |
| --- a/gcc/config/microblaze/microblaze.md |
| +++ b/gcc/config/microblaze/microblaze.md |
| @@ -1334,8 +1334,7 @@ |
| [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d") |
| (match_operand:DI 1 "immediate_operand" "J,I,Mnis"))] |
| "TARGET_MB_64 && (register_operand (operands[0], DImode) && |
| - (GET_CODE (operands[1]) == CONST_INT && |
| - (INTVAL (operands[1]) <= (long long)549755813887 && INTVAL (operands[1]) >= (long long)-549755813888)))" |
| + (GET_CODE (operands[1]) == CONST_INT))" |
| "@ |
| addlk\t%0,r0,r0\t |
| addlik\t%0,r0,%1\t #N1 %X1 |
| -- |
| 2.17.1 |
| |