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:
Michael Frysinger 2011-02-12 19:36:31 +00:00
parent e7e950024c
commit 8447bf9f9f
2 changed files with 28 additions and 0 deletions

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...|