From 8447bf9f9f971b6b20564bb6f9df37c316b01c6e Mon Sep 17 00:00:00 2001 From: Michael Frysinger Date: Sat, 12 Feb 2011 19:36:31 +0000 Subject: [PATCH] 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 --- include/opcode/ChangeLog | 5 +++++ include/opcode/bfin.h | 23 +++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog index 968de81bb..61fcbee5c 100644 --- a/include/opcode/ChangeLog +++ b/include/opcode/ChangeLog @@ -1,3 +1,8 @@ +2011-02-12 Mike Frysinger + + * 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 * bfin.h: Add OPCODE_BFIN_H ifdef multiple include protection. diff --git a/include/opcode/bfin.h b/include/opcode/bfin.h index 4a8a6bc3a..730f63c24 100755 --- a/include/opcode/bfin.h +++ b/include/opcode/bfin.h @@ -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...|