From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28092 invoked by alias); 11 Feb 2011 22:38:11 -0000 Received: (qmail 28084 invoked by uid 22791); 11 Feb 2011 22:38:10 -0000 X-SWARE-Spam-Status: No, hits=-2.0 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from smtp.gentoo.org (HELO smtp.gentoo.org) (140.211.166.183) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 11 Feb 2011 22:38:03 +0000 Received: from localhost.localdomain (localhost [127.0.0.1]) by smtp.gentoo.org (Postfix) with ESMTP id 6592B1B400F; Fri, 11 Feb 2011 22:38:01 +0000 (UTC) From: Mike Frysinger To: binutils@sourceware.org Cc: toolchain-devel@blackfin.uclinux.org Subject: [PATCH] gas/opcodes: blackfin: move dsp mac func defines to common header Date: Fri, 11 Feb 2011 22:38:00 -0000 Message-Id: <1297463882-14788-1-git-send-email-vapier@gentoo.org> X-IsSubscribed: yes Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org X-SW-Source: 2011-02/txt/msg00114.txt.bz2 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/: 2011-02-04 Mike Frysinger * 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. gas/: 2011-02-04 Mike Frysinger * 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. opcodes/: 2011-02-04 Mike Frysinger * bfin-dis.c (M_S2RND, M_T, M_W32, M_FU, M_TFU, M_IS, M_ISS2, M_IH, M_IU): Delete. --- gas/config/bfin-defs.h | 15 +++------------ include/opcode/bfin.h | 23 +++++++++++++++++++++++ opcodes/bfin-dis.c | 10 ---------- 3 files changed, 26 insertions(+), 22 deletions(-) diff --git a/gas/config/bfin-defs.h b/gas/config/bfin-defs.h index 8217332..b43fe76 100644 --- a/gas/config/bfin-defs.h +++ b/gas/config/bfin-defs.h @@ -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 diff --git a/include/opcode/bfin.h b/include/opcode/bfin.h index 4a8a6bc..730f63c 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...| diff --git a/opcodes/bfin-dis.c b/opcodes/bfin-dis.c index 58122f0..85b793c 100644 --- a/opcodes/bfin-dis.c +++ b/opcodes/bfin-dis.c @@ -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 -- 1.7.4