summaryrefslogtreecommitdiff
path: root/include/opcode
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2011-02-12 19:36:30 +0000
committerMike Frysinger <vapier@gentoo.org>2011-02-12 19:36:30 +0000
commitf6f082adf8b91a72791ea5e7fe4d90be421ba1c2 (patch)
tree94d963cc810c870b19c841aa5210e7dd221e64dc /include/opcode
parent6b83bddbdcae08479989869bdfab44fc3f691f5e (diff)
downloadgdb-f6f082adf8b91a72791ea5e7fe4d90be421ba1c2.tar.gz
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>
Diffstat (limited to 'include/opcode')
-rw-r--r--include/opcode/ChangeLog5
-rwxr-xr-xinclude/opcode/bfin.h23
2 files changed, 28 insertions, 0 deletions
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
index 968de81bb08..61fcbee5cbe 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -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.
diff --git a/include/opcode/bfin.h b/include/opcode/bfin.h
index 4a8a6bc3ad4..730f63c24c5 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...|