This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[sim/msp430] support 32-bit sign extension
- From: DJ Delorie <dj at redhat dot com>
- To: gdb-patches at sourceware dot org
- Date: Mon, 12 May 2014 19:06:15 -0400
- Subject: [sim/msp430] support 32-bit sign extension
- Authentication-results: sourceware.org; auth=none
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;