| From 5ac80cf926c4dc96cbfd189f02c9250865b52dd3 Mon Sep 17 00:00:00 2001 |
| From: Mahesh Bodapati <mbodapat@xilinx.com> |
| Date: Wed, 18 Jan 2017 12:03:39 +0530 |
| Subject: [PATCH 30/63] [patch,microblaze]: Fix the calculation of high word in |
| a long long 6. .4-bit |
| |
| This patch will change the calculation of high word in a long long 64-bit. |
| Earlier to this patch the high word of long long word (0xF0000000ULL) is |
| coming to be 0xFFFFFFFF and low word is 0xF0000000. Instead the high word |
| should be 0x00000000 and the low word should be 0xF0000000. This patch |
| removes the condition of checking high word = 0 & low word < 0. |
| This check is not required for the correctness of calculating 32-bit high |
| and low words in a 64-bit long long. |
| |
| Signed-off-by :Nagaraju Mekala <nmekala@xilix.com> |
| Ajit Agarwal <ajitkum@xilinx.com> |
| |
| ChangeLog: |
| 2016-03-01 Nagaraju Mekala <nmekala@xilix.com> |
| Ajit Agarwal <ajitkum@xilinx.com> |
| |
| *config/microblaze/microblaze.c (print_operand): Remove the condition of checking |
| high word = 0 & low word < 0. |
| *testsuite/gcc.target/microblaze/others/long.c: Add -O0 option. |
| --- |
| gcc/config/microblaze/microblaze.c | 3 --- |
| 1 file changed, 3 deletions(-) |
| |
| diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c |
| index c662952..8013a2c 100644 |
| --- a/gcc/config/microblaze/microblaze.c |
| +++ b/gcc/config/microblaze/microblaze.c |
| @@ -2612,9 +2612,6 @@ print_operand (FILE * file, rtx op, int letter) |
| { |
| val[0] = (INTVAL (op) & 0xffffffff00000000LL) >> 32; |
| val[1] = INTVAL (op) & 0x00000000ffffffffLL; |
| - if (val[0] == 0 && val[1] < 0) |
| - val[0] = -1; |
| - |
| } |
| fprintf (file, "0x%8.8lx", (letter == 'h') ? val[0] : val[1]); |
| } |
| -- |
| 2.7.4 |
| |