This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[MIPS sim PATCH] Remove SIGNEXTEND.


Hi Andrew, want your opinion as MIPS sim co-maintainer on this one:

The SIGNEXTEND macro is no longer used by the MIPS sim code in the
public sources.  (I replaced all uses with uses of EXTENDnn, which IMO
are preferred since they are sim/common macros and their use eats less
screen real estate.  8-)

If it's not a problem for you, I'd like to remove the SIGNEXTEND macro
entirely.  (I figure, it might be a problem because maybe you've got
code in your private mips sim which uses SIGNEXTEND and can't be
converted to use EXTENDnn.)

What do you think?


thanks,

chris
===================================================================
2002-02-04  Chris Demetriou  <cgd@broadcom.com>

	* sim-main.h (SIGNEXTEND): Remove.

Index: sim-main.h
===================================================================
RCS file: /cvs/src/src/sim/mips/sim-main.h,v
retrieving revision 1.7
diff -u -p -r1.7 sim-main.h
--- sim-main.h	2001/11/18 06:00:29	1.7
+++ sim-main.h	2002/03/05 19:05:15
@@ -56,15 +56,6 @@ typedef unsigned64 uword64;
 #define WORD64(h,l)     ((word64)((SET64HI(h)|SET64LO(l))))
 #define UWORD64(h,l)     (SET64HI(h)|SET64LO(l))
 
-/* Sign-extend the given value (e) as a value (b) bits long. We cannot
-   assume the HI32bits of the operand are zero, so we must perform a
-   mask to ensure we can use the simple subtraction to sign-extend. */
-#define SIGNEXTEND(e,b) \
- ((unsigned_word) \
-  (((e) & ((uword64) 1 << ((b) - 1))) \
-   ? (((e) & (((uword64) 1 << (b)) - 1)) - ((uword64)1 << (b))) \
-   : ((e) & (((((uword64) 1 << ((b) - 1)) - 1) << 1) | 1))))
-
 /* Check if a value will fit within a halfword: */
 #define NOTHALFWORDVALUE(v) ((((((uword64)(v)>>16) == 0) && !((v) & ((unsigned)1 << 15))) || (((((uword64)(v)>>32) == 0xFFFFFFFF) && ((((uword64)(v)>>16) & 0xFFFF) == 0xFFFF)) && ((v) & ((unsigned)1 << 15)))) ? (1 == 0) : (1 == 1))
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]