mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-20 01:50:24 +08:00
[ARC] Fix decoding of w6 signed short immediate.
gas/ Claudiu Zissulescu <claziss@synopsys.com> * testsuite/gas/arc/st.d: Fix test. opcodes/ Claudiu Zissulescu <claziss@synopsys.com> * arc-opc.c (extract_w6): Fix extending the sign.
This commit is contained in:
@ -1,3 +1,7 @@
|
|||||||
|
2018-07-23 Claudiu Zissulescu <claziss@synopsys.com>
|
||||||
|
|
||||||
|
* testsuite/gas/arc/st.d: Fix test.
|
||||||
|
|
||||||
2018-07-23 Claudiu Zissulescu <claziss@synopsys.com>
|
2018-07-23 Claudiu Zissulescu <claziss@synopsys.com>
|
||||||
|
|
||||||
* config/tc-arc.c (tokenize_extinsn): Convert to lower case the
|
* config/tc-arc.c (tokenize_extinsn): Convert to lower case the
|
||||||
|
@ -13,7 +13,7 @@ Disassembly of section .text:
|
|||||||
10: 1a02 004c st[hw]+.aw r1,\[r2,2\]
|
10: 1a02 004c st[hw]+.aw r1,\[r2,2\]
|
||||||
14: 1e00 7040 0000 0384 st r1,\[0x384\]
|
14: 1e00 7040 0000 0384 st r1,\[0x384\]
|
||||||
1c: 1a00 0003 stb 0,\[r2\]
|
1c: 1a00 0003 stb 0,\[r2\]
|
||||||
20: 1af8 8e01 st 56,\[r2,-8\]
|
20: 1af8 8e01 st -8,\[r2,-8\]
|
||||||
24: 1e00 7080 0000 0000 st r2,\[0\]
|
24: 1e00 7080 0000 0000 st r2,\[0\]
|
||||||
28: R_ARC_32_ME foo
|
28: R_ARC_32_ME foo
|
||||||
2c: 1a02 0060 st.di r1,\[r2,2\]
|
2c: 1a02 0060 st.di r1,\[r2,2\]
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
2018-07-23 Claudiu Zissulescu <claziss@synopsys.com>
|
||||||
|
|
||||||
|
* arc-opc.c (extract_w6): Fix extending the sign.
|
||||||
|
|
||||||
2018-07-23 Claudiu Zissulescu <claziss@synopsys.com>
|
2018-07-23 Claudiu Zissulescu <claziss@synopsys.com>
|
||||||
|
|
||||||
* arc-tbl.h (vewt): Allow it for ARC EM family.
|
* arc-tbl.h (vewt): Allow it for ARC EM family.
|
||||||
|
@ -651,10 +651,14 @@ static long long
|
|||||||
extract_w6 (unsigned long long insn,
|
extract_w6 (unsigned long long insn,
|
||||||
bfd_boolean * invalid ATTRIBUTE_UNUSED)
|
bfd_boolean * invalid ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
unsigned value = 0;
|
int value = 0;
|
||||||
|
|
||||||
value |= ((insn >> 6) & 0x003f) << 0;
|
value |= ((insn >> 6) & 0x003f) << 0;
|
||||||
|
|
||||||
|
/* Extend the sign. */
|
||||||
|
int signbit = 1 << 5;
|
||||||
|
value = (value ^ signbit) - signbit;
|
||||||
|
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user