163 #define NIOS2_NUM_REGS \
164 ((sizeof nios2_builtin_regs) / (sizeof (nios2_builtin_regs[0])))
171 #undef NIOS2_NUM_REGS
179 {
"add",
"d,s,t",
"d,s,t,E", 3,
181 {
"addi",
"t,s,i",
"t,s,i,E", 3,
183 {
"subi",
"t,s,i",
"t,s,i,E", 3,
185 {
"and",
"d,s,t",
"d,s,t,E", 3,
187 {
"andhi",
"t,s,u",
"t,s,u,E", 3,
189 {
"andi",
"t,s,u",
"t,s,u,E", 3,
191 {
"beq",
"s,t,o",
"s,t,o,E", 3,
193 {
"bge",
"s,t,o",
"s,t,o,E", 3,
195 {
"bgeu",
"s,t,o",
"s,t,o,E", 3,
197 {
"bgt",
"s,t,o",
"s,t,o,E", 3,
200 {
"bgtu",
"s,t,o",
"s,t,o,E", 3,
203 {
"ble",
"s,t,o",
"s,t,o,E", 3,
206 {
"bleu",
"s,t,o",
"s,t,o,E", 3,
209 {
"blt",
"s,t,o",
"s,t,o,E", 3,
211 {
"bltu",
"s,t,o",
"s,t,o,E", 3,
213 {
"bne",
"s,t,o",
"s,t,o,E", 3,
215 {
"br",
"o",
"o,E", 1,
217 {
"break",
"b",
"b,E", 1,
221 {
"flushd",
"i(s)",
"i(s)E", 2,
223 {
"flushda",
"i(s)",
"i(s)E", 2,
225 {
"flushi",
"s",
"s,E", 1,
227 {
"flushp",
"",
"E", 0,
229 {
"initd",
"i(s)",
"i(s)E", 2,
231 {
"initda",
"i(s)",
"i(s)E", 2,
233 {
"initi",
"s",
"s,E", 1,
235 {
"call",
"m",
"m,E", 1,
237 {
"callr",
"s",
"s,E", 1,
239 {
"cmpeq",
"d,s,t",
"d,s,t,E", 3,
241 {
"cmpeqi",
"t,s,i",
"t,s,i,E", 3,
243 {
"cmpge",
"d,s,t",
"d,s,t,E", 3,
245 {
"cmpgei",
"t,s,i",
"t,s,i,E", 3,
247 {
"cmpgeu",
"d,s,t",
"d,s,t,E", 3,
249 {
"cmpgeui",
"t,s,u",
"t,s,u,E", 3,
251 {
"cmpgt",
"d,s,t",
"d,s,t,E", 3,
253 {
"cmpgti",
"t,s,i",
"t,s,i,E", 3,
255 {
"cmpgtu",
"d,s,t",
"d,s,t,E", 3,
257 {
"cmpgtui",
"t,s,u",
"t,s,u,E", 3,
259 {
"cmple",
"d,s,t",
"d,s,t,E", 3,
261 {
"cmplei",
"t,s,i",
"t,s,i,E", 3,
263 {
"cmpleu",
"d,s,t",
"d,s,t,E", 3,
265 {
"cmpleui",
"t,s,u",
"t,s,u,E", 3,
267 {
"cmplt",
"d,s,t",
"d,s,t,E", 3,
269 {
"cmplti",
"t,s,i",
"t,s,i,E", 3,
271 {
"cmpltu",
"d,s,t",
"d,s,t,E", 3,
273 {
"cmpltui",
"t,s,u",
"t,s,u,E", 3,
275 {
"cmpne",
"d,s,t",
"d,s,t,E", 3,
277 {
"cmpnei",
"t,s,i",
"t,s,i,E", 3,
279 {
"div",
"d,s,t",
"d,s,t,E", 3,
281 {
"divu",
"d,s,t",
"d,s,t,E", 3,
283 {
"jmp",
"s",
"s,E", 1,
285 {
"jmpi",
"m",
"m,E", 1,
287 {
"ldb",
"t,i(s)",
"t,i(s)E", 3,
289 {
"ldbio",
"t,i(s)",
"t,i(s)E", 3,
291 {
"ldbu",
"t,i(s)",
"t,i(s)E", 3,
293 {
"ldbuio",
"t,i(s)",
"t,i(s)E", 3,
295 {
"ldh",
"t,i(s)",
"t,i(s)E", 3,
297 {
"ldhio",
"t,i(s)",
"t,i(s)E", 3,
299 {
"ldhu",
"t,i(s)",
"t,i(s)E", 3,
301 {
"ldhuio",
"t,i(s)",
"t,i(s)E", 3,
303 {
"ldl",
"t,i(s)",
"t,i(s)E", 3,
305 {
"ldw",
"t,i(s)",
"t,i(s)E", 3,
307 {
"ldwio",
"t,i(s)",
"t,i(s)E", 3,
309 {
"mov",
"d,s",
"d,s,E", 2,
312 {
"movhi",
"t,u",
"t,u,E", 2,
315 {
"movui",
"t,u",
"t,u,E", 2,
318 {
"movi",
"t,i",
"t,i,E", 2,
322 {
"movia",
"t,o",
"t,o,E", 2,
324 {
"mul",
"d,s,t",
"d,s,t,E", 3,
326 {
"muli",
"t,s,i",
"t,s,i,E", 3,
328 {
"mulxss",
"d,s,t",
"d,s,t,E", 3,
330 {
"mulxsu",
"d,s,t",
"d,s,t,E", 3,
332 {
"mulxuu",
"d,s,t",
"d,s,t,E", 3,
334 {
"nextpc",
"d",
"d,E", 1,
338 {
"nor",
"d,s,t",
"d,s,t,E", 3,
340 {
"or",
"d,s,t",
"d,s,t,E", 3,
342 {
"orhi",
"t,s,u",
"t,s,u,E", 3,
344 {
"ori",
"t,s,u",
"t,s,u,E", 3,
346 {
"rdctl",
"d,c",
"d,c,E", 2,
348 {
"rdprs",
"t,s,i",
"t,s,i,E", 3,
352 {
"rol",
"d,s,t",
"d,s,t,E", 3,
354 {
"roli",
"d,s,j",
"d,s,j,E", 3,
356 {
"ror",
"d,s,t",
"d,s,t,E", 3,
358 {
"sll",
"d,s,t",
"d,s,t,E", 3,
360 {
"slli",
"d,s,j",
"d,s,j,E", 3,
362 {
"sra",
"d,s,t",
"d,s,t,E", 3,
364 {
"srai",
"d,s,j",
"d,s,j,E", 3,
366 {
"srl",
"d,s,t",
"d,s,t,E", 3,
368 {
"srli",
"d,s,j",
"d,s,j,E", 3,
370 {
"stb",
"t,i(s)",
"t,i(s)E", 3,
372 {
"stbio",
"t,i(s)",
"t,i(s)E", 3,
374 {
"stc",
"t,i(s)",
"t,i(s)E", 3,
376 {
"sth",
"t,i(s)",
"t,i(s)E", 3,
378 {
"sthio",
"t,i(s)",
"t,i(s)E", 3,
380 {
"stw",
"t,i(s)",
"t,i(s)E", 3,
382 {
"stwio",
"t,i(s)",
"t,i(s)E", 3,
384 {
"sub",
"d,s,t",
"d,s,t,E", 3,
388 {
"trap",
"b",
"b,E", 1,
392 {
"custom",
"l,d,s,t",
"l,d,s,t,E", 4,
394 {
"wrctl",
"c,s",
"c,s,E", 2,
396 {
"wrprs",
"d,s",
"d,s,E", 2,
398 {
"xor",
"d,s,t",
"d,s,t,E", 3,
400 {
"xorhi",
"t,s,u",
"t,s,u,E", 3,
402 {
"xori",
"t,s,u",
"t,s,u,E", 3,
406 #define NIOS2_NUM_OPCODES \
407 ((sizeof nios2_builtin_opcodes) / (sizeof (nios2_builtin_opcodes[0])))
415 #undef NIOS2_NUM_OPCODES
const struct nios2_opcode nios2_builtin_opcodes[]
const int bfd_nios2_num_builtin_opcodes
struct nios2_reg * nios2_regs
int bfd_nios2_num_opcodes
#define NIOS2_NUM_OPCODES
struct nios2_opcode * nios2_opcodes
const int nios2_num_builtin_regs
const struct nios2_reg nios2_builtin_regs[]
#define NIOS2_INSN_CBRANCH
@ signed_immed16_overflow
@ address_offset_overflow
@ unsigned_immed5_overflow
@ unsigned_immed16_overflow
#define NIOS2_INSN_UBRANCH
#define NIOS2_INSN_MACRO_MOV
#define NIOS2_INSN_MACRO_MOVI
#define NIOS2_INSN_MACRO_MOVIA