This is the mail archive of the gdb-patches@sourceware.org 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]

[sim/msp430] support 32-bit sign extension


Needed for the hardware multiply unit.  Committed.

	* msp43-sim.c (sign_ext): Change to "long long" to support
	sign-extending 32-bit values.

diff --git a/sim/msp430/msp430-sim.c b/sim/msp430/msp430-sim.c
index 693fdee..2dcbae3 100644
--- a/sim/msp430/msp430-sim.c
+++ b/sim/msp430/msp430-sim.c
@@ -337,11 +337,11 @@ zero_ext (unsigned int v, unsigned int bits)
   return v;
 }
 
-static signed int
-sign_ext (signed int v, unsigned int bits)
+static signed long long
+sign_ext (signed long long v, unsigned int bits)
 {
-  int sb = 1 << (bits-1);	/* Sign bit.  */
-  int mb = (1 << (bits-1)) - 1; /* Mantissa bits.  */
+  signed long long sb = 1LL << (bits-1);	/* Sign bit.  */
+  signed long long mb = (1LL << (bits-1)) - 1LL; /* Mantissa bits.  */
 
   if (v & sb)
     v = v | ~mb;


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