mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-29 08:24:05 +08:00
* ppc-opc.c (extract_vlesi): Properly sign extend.
(extract_vlensi): Likewise. Comment reason for setting invalid.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
2013-05-09 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
* ppc-opc.c (extract_vlesi): Properly sign extend.
|
||||||
|
(extract_vlensi): Likewise. Comment reason for setting invalid.
|
||||||
|
|
||||||
2013-05-02 Nick Clifton <nickc@redhat.com>
|
2013-05-02 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
* msp430-dis.c: Add support for MSP430X instructions.
|
* msp430-dis.c: Add support for MSP430X instructions.
|
||||||
|
@ -2022,11 +2022,8 @@ extract_vlesi (unsigned long insn,
|
|||||||
ppc_cpu_t dialect ATTRIBUTE_UNUSED,
|
ppc_cpu_t dialect ATTRIBUTE_UNUSED,
|
||||||
int *invalid ATTRIBUTE_UNUSED)
|
int *invalid ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
/* RWRW Because I don't know how to make int be 16 and long be 32 */
|
|
||||||
/* I can't rely on casting an int to long to get sign extension. */
|
|
||||||
long value = ((insn >> 10) & 0xf800) | (insn & 0x7ff);
|
long value = ((insn >> 10) & 0xf800) | (insn & 0x7ff);
|
||||||
if (value & 0x8000)
|
value = (value ^ 0x8000) - 0x8000;
|
||||||
value |= 0xffff0000;
|
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2045,8 +2042,8 @@ extract_vlensi (unsigned long insn,
|
|||||||
int *invalid ATTRIBUTE_UNUSED)
|
int *invalid ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
long value = ((insn >> 10) & 0xf800) | (insn & 0x7ff);
|
long value = ((insn >> 10) & 0xf800) | (insn & 0x7ff);
|
||||||
if (value & 0x8000)
|
value = (value ^ 0x8000) - 0x8000;
|
||||||
value |= 0xffff0000;
|
/* Don't use for disassembly. */
|
||||||
*invalid = 1;
|
*invalid = 1;
|
||||||
return -value;
|
return -value;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user