gas/opcodes: blackfin: move dsp mac func defines to common header

The mmod field is decoded in a few places (gas/opcodes/sim), so move it to
a common place to avoid duplication.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
Mike Frysinger 2011-02-12 19:36:31 +00:00
parent dcb5e50678
commit 26bb3ddd50
6 changed files with 42 additions and 22 deletions

View File

@ -1,3 +1,8 @@
2011-02-12 Mike Frysinger <vapier@gentoo.org>
* config/bfin-defs.h: Include opcode/bfin.h.
(M_S2RND, M_T, M_W32, M_FU, M_TFU, M_IS, M_ISS2, M_IH, M_IU): Delete.
2011-02-11 Mike Frysinger <vapier@gentoo.org>
* doc/c-bfin.texi (Instruction Delimiting): Fix occur typo.

View File

@ -1,5 +1,5 @@
/* bfin-defs.h ADI Blackfin gas header file
Copyright 2005, 2006, 2007, 2009, 2010
Copyright 2005, 2006, 2007, 2009, 2010, 2011
Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@ -22,6 +22,8 @@
#ifndef BFIN_PARSE_H
#define BFIN_PARSE_H
#include "opcode/bfin.h"
#define PCREL 1
#define CODE_FRAG_SIZE 4096 /* 1 page. */
@ -166,17 +168,6 @@ enum reg_class
LIM_REG_CLASSES
};
/* mmod field. */
#define M_S2RND 1
#define M_T 2
#define M_W32 3
#define M_FU 4
#define M_TFU 6
#define M_IS 8
#define M_ISS2 9
#define M_IH 11
#define M_IU 12
/* Register type checking macros. */
#define CODE_MASK 0x07

View File

@ -1,3 +1,8 @@
2011-02-12 Mike Frysinger <vapier@gentoo.org>
* bfin-dis.c (M_S2RND, M_T, M_W32, M_FU, M_TFU, M_IS, M_ISS2,
M_IH, M_IU): Delete.
2011-02-11 Mike Frysinger <vapier@gentoo.org>
* bfin.h: Add OPCODE_BFIN_H ifdef multiple include protection.

View File

@ -30,6 +30,29 @@
/* DSP instructions (32 bit) */
/* mmod field. */
#define M_S2RND 1
#define M_T 2
#define M_W32 3
#define M_FU 4
#define M_TFU 6
#define M_IS 8
#define M_ISS2 9
#define M_IH 11
#define M_IU 12
static inline int is_macmod_pmove(int x)
{
return (x == 0) || (x == M_IS) || (x == M_FU) || (x == M_S2RND)
|| (x == M_ISS2) || (x == M_IU);
}
static inline int is_macmod_hmove(int x)
{
return (x == 0) || (x == M_IS) || (x == M_FU) || (x == M_IU) || (x == M_T)
|| (x == M_TFU) || (x == M_S2RND) || (x == M_ISS2) || (x == M_IH);
}
/* dsp32mac
+----+----+---+---|---+----+----+---|---+---+---+---|---+---+---+---+
| 1 | 1 | 0 | 0 |.M.| 0 | 0 |.mmod..........|.MM|.P.|.w1|.op1...|

View File

@ -1,3 +1,9 @@
2011-02-12 Mike Frysinger <vapier@gentoo.org>
* bfin.h (M_S2RND, M_T, M_W32, M_FU, M_TFU, M_IS, M_ISS2, M_IH,
M_IU): Define.
(is_macmod_pmove, is_macmod_hmove): New functions.
2011-02-11 Mike Frysinger <vapier@gentoo.org>
* bfin-dis.c (reg_names): Add const.

View File

@ -25,16 +25,6 @@
#include "opcode/bfin.h"
#define M_S2RND 1
#define M_T 2
#define M_W32 3
#define M_FU 4
#define M_TFU 6
#define M_IS 8
#define M_ISS2 9
#define M_IH 11
#define M_IU 12
#ifndef PRINTF
#define PRINTF printf
#endif