]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gas/config/bfin-aux.h
Switch to GPLv3
[thirdparty/binutils-gdb.git] / gas / config / bfin-aux.h
CommitLineData
07c1b327 1/* bfin-aux.h ADI Blackfin Header file for gas\r
ec2655a6 2 Copyright 2005, 2007\r
07c1b327
CM
3 Free Software Foundation, Inc.\r
4\r
5 This file is part of GAS, the GNU Assembler.\r
6\r
7 GAS is free software; you can redistribute it and/or modify\r
8 it under the terms of the GNU General Public License as published by\r
ec2655a6 9 the Free Software Foundation; either version 3, or (at your option)\r
07c1b327
CM
10 any later version.\r
11\r
12 GAS is distributed in the hope that it will be useful,\r
13 but WITHOUT ANY WARRANTY; without even the implied warranty of\r
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
15 GNU General Public License for more details.\r
16\r
17 You should have received a copy of the GNU General Public License\r
18 along with GAS; see the file COPYING. If not, write to the Free\r
19 Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA\r
20 02110-1301, USA. */\r
21\r
22#include "bfin-defs.h"\r
23\r
24#define REG_T Register *\r
25\r
26INSTR_T\r
27bfin_gen_dsp32mac (int op1, int mm, int mmod, int w1, int p,\r
28 int h01, int h11, int h00, int h10,\r
29 int op0, REG_T dst, REG_T src0, REG_T src1, int w0);\r
30\r
31INSTR_T\r
32bfin_gen_dsp32mult (int op1, int mm, int mmod, int w1, int p,\r
33 int h01, int h11, int h00, int h10,\r
34 int op0, REG_T dst, REG_T src0, REG_T src1, int w0);\r
35\r
36INSTR_T\r
37bfin_gen_dsp32alu (int HL, int aopcde, int aop, int s, int x,\r
38 REG_T dst0, REG_T dst1, REG_T src0, REG_T src1);\r
39\r
40INSTR_T\r
41bfin_gen_dsp32shift (int sopcde, REG_T dst0, REG_T src0, REG_T src1,\r
42 int sop, int hls);\r
43\r
44INSTR_T\r
45bfin_gen_dsp32shiftimm (int sopcde, REG_T dst0, int immag, REG_T src1,\r
46 int sop, int hls);\r
47\r
48INSTR_T\r
49bfin_gen_ldimmhalf (REG_T reg, int h, int s, int z, Expr_Node *hword,\r
50 int reloc);\r
51\r
52INSTR_T\r
53bfin_gen_ldstidxi (REG_T ptr, REG_T reg, int w, int sz, int z,\r
54 Expr_Node *offset);\r
55\r
56INSTR_T\r
57bfin_gen_ldst (REG_T ptr, REG_T reg, int aop, int sz, int z, int w);\r
58\r
59INSTR_T\r
60bfin_gen_ldstii (REG_T ptr, REG_T reg, Expr_Node *offset, int w, int op);\r
61\r
62INSTR_T\r
63bfin_gen_ldstiifp (REG_T reg, Expr_Node *offset, int w);\r
64\r
65INSTR_T\r
66bfin_gen_ldstpmod (REG_T ptr, REG_T reg, int aop, int w, REG_T idx);\r
67\r
68INSTR_T\r
69bfin_gen_dspldst (REG_T i, REG_T reg, int aop, int w, int m);\r
70\r
71INSTR_T\r
72bfin_gen_alu2op (REG_T dst, REG_T src, int opc);\r
73\r
74INSTR_T\r
75bfin_gen_compi2opd (REG_T dst, int src, int op);\r
76\r
77INSTR_T\r
78bfin_gen_compi2opp (REG_T dst, int src, int op);\r
79\r
80INSTR_T\r
81bfin_gen_dagmodik (REG_T i, int op);\r
82\r
83INSTR_T\r
84bfin_gen_dagmodim (REG_T i, REG_T m, int op, int br);\r
85\r
86INSTR_T\r
87bfin_gen_ptr2op (REG_T dst, REG_T src, int opc);\r
88\r
89INSTR_T\r
90bfin_gen_logi2op (int dst, int src, int opc);\r
91\r
92INSTR_T\r
93bfin_gen_comp3op (REG_T src0, REG_T src1, REG_T dst, int opc);\r
94\r
95INSTR_T\r
96bfin_gen_ccmv (REG_T src, REG_T dst, int t);\r
97\r
98INSTR_T\r
99bfin_gen_ccflag (REG_T x, int y, int opc, int i, int g);\r
100\r
101INSTR_T\r
102bfin_gen_cc2stat (int cbit, int op, int d);\r
103\r
104INSTR_T\r
105bfin_gen_regmv (REG_T src, REG_T dst);\r
106\r
107INSTR_T\r
108bfin_gen_cc2dreg (int op, REG_T reg);\r
109\r
110INSTR_T\r
111bfin_gen_brcc (int t, int b, Expr_Node *offset);\r
112\r
113INSTR_T\r
114bfin_gen_ujump (Expr_Node *offset);\r
115\r
116INSTR_T\r
117bfin_gen_cactrl (REG_T reg, int a, int op);\r
118\r
119INSTR_T\r
120bfin_gen_progctrl (int prgfunc, int poprnd);\r
121\r
122INSTR_T\r
123bfin_gen_loopsetup (Expr_Node *soffset, REG_T c, int rop,\r
124 Expr_Node *eoffset, REG_T reg);\r
125\r
126INSTR_T\r
127bfin_gen_loop (Expr_Node *expr, REG_T reg, int rop, REG_T preg);\r
128\r
129INSTR_T\r
130bfin_gen_pushpopmultiple (int dr, int pr, int d, int p, int w);\r
131\r
132INSTR_T\r
133bfin_gen_pushpopreg (REG_T reg, int w);\r
134\r
135INSTR_T\r
136bfin_gen_calla (Expr_Node *addr, int s);\r
137\r
138INSTR_T\r
139bfin_gen_linkage (int r, int framesize);\r
140\r
141INSTR_T\r
142bfin_gen_pseudodbg (int fn, int reg, int grp);\r
143\r
144INSTR_T\r
145bfin_gen_pseudodbg_assert (int dbgop, REG_T regtest, int expected);\r
146\r
147bfd_boolean\r
148bfin_resource_conflict (INSTR_T dsp32, INSTR_T dsp16_grp1, INSTR_T dsp16_grp2);\r
149\r
150INSTR_T\r
151bfin_gen_multi_instr (INSTR_T dsp32, INSTR_T dsp16_grp1, INSTR_T dsp16_grp2);\r