From b98cddb206ce84994425ede4b116365977768e37 Mon Sep 17 00:00:00 2001 From: Mahesh Bodapati Date: Tue, 13 Sep 2022 12:03:08 +0530 Subject: [PATCH 23/53] [patch,microblaze]: Fix the calculation of high word in a long long 64-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 Ajit Agarwal Upstream-Status: Pending Signed-off-by: Mark Hatle --- gcc/config/microblaze/microblaze.cc | 3 --- 1 file changed, 3 deletions(-) diff --git a/gcc/config/microblaze/microblaze.cc b/gcc/config/microblaze/microblaze.cc index 907c0afa9b8..f75eaff4b49 100644 --- a/gcc/config/microblaze/microblaze.cc +++ b/gcc/config/microblaze/microblaze.cc @@ -2469,9 +2469,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.37.1 (Apple Git-137.1)