projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Don't write to inferior_ptid in procfs.c
[deliverable/binutils-gdb.git]
/
opcodes
/
nios2-dis.c
diff --git
a/opcodes/nios2-dis.c
b/opcodes/nios2-dis.c
index 51027b5dce49738417f31887a870c5265f328161..6de2079f687a069921084d61078f040f93314b7b 100644
(file)
--- a/
opcodes/nios2-dis.c
+++ b/
opcodes/nios2-dis.c
@@
-1,5
+1,5
@@
/* Altera Nios II disassemble routines
/* Altera Nios II disassemble routines
- Copyright (C) 2012-20
18
Free Software Foundation, Inc.
+ Copyright (C) 2012-20
20
Free Software Foundation, Inc.
Contributed by Nigel Gray (ngray@altera.com).
Contributed by Mentor Graphics, Inc.
Contributed by Nigel Gray (ngray@altera.com).
Contributed by Mentor Graphics, Inc.
@@
-276,7
+276,7
@@
nios2_print_insn_arg (const char *argptr,
{
unsigned long i = 0;
long s = 0;
{
unsigned long i = 0;
long s = 0;
-
bfd_signed_vma
o = 0;
+
int32_t
o = 0;
struct nios2_reg *reg_base;
switch (*argptr)
struct nios2_reg *reg_base;
switch (*argptr)
@@
-554,10
+554,12
@@
nios2_print_insn_arg (const char *argptr,
switch (op->format)
{
case iw_i_type:
switch (op->format)
{
case iw_i_type:
- s = (int32_t) (GET_IW_I_IMM16 (opcode) << 16) >> 16;
+ s = ((int32_t) ((GET_IW_I_IMM16 (opcode) & 0xffff) ^ 0x8000)
+ - 0x8000);
break;
case iw_F2I16_type:
break;
case iw_F2I16_type:
- s = (int32_t) (GET_IW_F2I16_IMM16 (opcode) << 16) >> 16;
+ s = ((int32_t) ((GET_IW_F2I16_IMM16 (opcode) & 0xffff) ^ 0x8000)
+ - 0x8000);
break;
default:
bad_opcode (op);
break;
default:
bad_opcode (op);
@@
-570,10
+572,12
@@
nios2_print_insn_arg (const char *argptr,
switch (op->format)
{
case iw_F2X4I12_type:
switch (op->format)
{
case iw_F2X4I12_type:
- s = (int32_t) (GET_IW_F2X4I12_IMM12 (opcode) << 20) >> 20;
+ s = ((int32_t) ((GET_IW_F2X4I12_IMM12 (opcode) & 0xfff) ^ 0x800)
+ - 0x800);
break;
case iw_F1X4I12_type:
break;
case iw_F1X4I12_type:
- s = (int32_t) (GET_IW_F1X4I12_IMM12 (opcode) << 20) >> 20;
+ s = ((int32_t) ((GET_IW_F1X4I12_IMM12 (opcode) & 0xfff) ^ 0x800)
+ - 0x800);
break;
default:
bad_opcode (op);
break;
default:
bad_opcode (op);
@@
-673,10
+677,10
@@
nios2_print_insn_arg (const char *argptr,
switch (op->format)
{
case iw_i_type:
switch (op->format)
{
case iw_i_type:
- o = (
int32_t) (GET_IW_I_IMM16 (opcode) << 16) >> 16
;
+ o = (
(GET_IW_I_IMM16 (opcode) & 0xffff) ^ 0x8000) - 0x8000
;
break;
case iw_F2I16_type:
break;
case iw_F2I16_type:
- o = (
int32_t) (GET_IW_F2I16_IMM16 (opcode) << 16) >> 16
;
+ o = (
(GET_IW_F2I16_IMM16 (opcode) & 0xffff) ^ 0x8000) - 0x8000
;
break;
default:
bad_opcode (op);
break;
default:
bad_opcode (op);
@@
-690,7
+694,7
@@
nios2_print_insn_arg (const char *argptr,
switch (op->format)
{
case iw_I10_type:
switch (op->format)
{
case iw_I10_type:
- o = (
int32_t) (GET_IW_I10_IMM10 (opcode) << 22) >> 21
;
+ o = (
((GET_IW_I10_IMM10 (opcode) & 0x3ff) ^ 0x400) - 0x400) * 2
;
break;
default:
bad_opcode (op);
break;
default:
bad_opcode (op);
@@
-704,7
+708,7
@@
nios2_print_insn_arg (const char *argptr,
switch (op->format)
{
case iw_T1I7_type:
switch (op->format)
{
case iw_T1I7_type:
- o = (
int32_t) (GET_IW_T1I7_IMM7 (opcode) << 25) >> 24
;
+ o = (
((GET_IW_T1I7_IMM7 (opcode) & 0x7f) ^ 0x40) - 0x40) * 2
;
break;
default:
bad_opcode (op);
break;
default:
bad_opcode (op);
@@
-858,7
+862,7
@@
nios2_print_insn_arg (const char *argptr,
if (i & (1 << 10))
reglist |= (1 << 28);
if (i & (1 << 11))
if (i & (1 << 10))
reglist |= (1 << 28);
if (i & (1 << 11))
- reglist |= (1 << 31);
+ reglist |= (1
u
<< 31);
}
else
reglist = i << 2;
}
else
reglist = i << 2;
@@
-867,7
+871,7
@@
nios2_print_insn_arg (const char *argptr,
case iw_L5I4X1_type:
/* Encoding for push.n/pop.n. */
case iw_L5I4X1_type:
/* Encoding for push.n/pop.n. */
- reglist |= (1 << 31);
+ reglist |= (1
u
<< 31);
if (GET_IW_L5I4X1_FP (opcode))
reglist |= (1 << 28);
if (GET_IW_L5I4X1_CS (opcode))
if (GET_IW_L5I4X1_FP (opcode))
reglist |= (1 << 28);
if (GET_IW_L5I4X1_CS (opcode))
@@
-887,7
+891,7
@@
nios2_print_insn_arg (const char *argptr,
for (k = (dir == 1 ? 0 : 31);
(dir == 1 && k < 32) || (dir == -1 && k >= 0);
k += dir)
for (k = (dir == 1 ? 0 : 31);
(dir == 1 && k < 32) || (dir == -1 && k >= 0);
k += dir)
- if (reglist & (1 << k))
+ if (reglist & (1
u
<< k))
{
if (t)
(*info->fprintf_func) (info->stream, ",");
{
if (t)
(*info->fprintf_func) (info->stream, ",");
This page took
0.089325 seconds
and
4
git commands to generate.