* arc-dis.c (BITS): Don't use shifts to mask off bits.
(FIELDD): Sign extend with xor,sub.
This commit is contained in:
parent
0d8abe3096
commit
cdb062354e
|
@ -1,3 +1,8 @@
|
||||||
|
2012-02-27 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
* arc-dis.c (BITS): Don't use shifts to mask off bits.
|
||||||
|
(FIELDD): Sign extend with xor,sub.
|
||||||
|
|
||||||
2012-02-25 Walter Lee <walt@tilera.com>
|
2012-02-25 Walter Lee <walt@tilera.com>
|
||||||
|
|
||||||
* tilegx-opc.c: Handle TILEGX_OPC_LD4S_TLS and TILEGX_OPC_LD_TLS.
|
* tilegx-opc.c: Handle TILEGX_OPC_LD4S_TLS and TILEGX_OPC_LD_TLS.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* Instruction printing code for the ARC.
|
/* Instruction printing code for the ARC.
|
||||||
Copyright 1994, 1995, 1997, 1998, 2000, 2001, 2002, 2005, 2007, 2009, 2010
|
Copyright 1994, 1995, 1997, 1998, 2000, 2001, 2002, 2005, 2007, 2009,
|
||||||
Free Software Foundation, Inc.
|
2010, 2012 Free Software Foundation, Inc.
|
||||||
Contributed by Doug Evans (dje@cygnus.com).
|
Contributed by Doug Evans (dje@cygnus.com).
|
||||||
|
|
||||||
This file is part of libopcodes.
|
This file is part of libopcodes.
|
||||||
|
@ -60,15 +60,14 @@ typedef enum
|
||||||
} a4_decoding_class;
|
} a4_decoding_class;
|
||||||
|
|
||||||
#define BIT(word,n) ((word) & (1 << n))
|
#define BIT(word,n) ((word) & (1 << n))
|
||||||
#define BITS(word,s,e) (((word) << (31 - e)) >> (s + (31 - e)))
|
#define BITS(word,s,e) (((word) >> s) & ((1 << (e + 1 - s)) - 1))
|
||||||
#define OPCODE(word) (BITS ((word), 27, 31))
|
#define OPCODE(word) (BITS ((word), 27, 31))
|
||||||
#define FIELDA(word) (BITS ((word), 21, 26))
|
#define FIELDA(word) (BITS ((word), 21, 26))
|
||||||
#define FIELDB(word) (BITS ((word), 15, 20))
|
#define FIELDB(word) (BITS ((word), 15, 20))
|
||||||
#define FIELDC(word) (BITS ((word), 9, 14))
|
#define FIELDC(word) (BITS ((word), 9, 14))
|
||||||
|
|
||||||
/* FIELD D is signed in all of its uses, so we make sure argument is
|
/* FIELD D is signed. */
|
||||||
treated as signed for bit shifting purposes: */
|
#define FIELDD(word) ((BITS ((word), 0, 8) ^ 0x100) - 0x100)
|
||||||
#define FIELDD(word) (BITS (((signed int)word), 0, 8))
|
|
||||||
|
|
||||||
#define PUT_NEXT_WORD_IN(a) \
|
#define PUT_NEXT_WORD_IN(a) \
|
||||||
do \
|
do \
|
||||||
|
|
Loading…
Reference in New Issue