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