Lines Matching refs:desc

152 static void read_instructions(struct gen_opcode *desc)
167 desc->nr++;
168 desc->insn = realloc(desc->insn, desc->nr * sizeof(*desc->insn));
169 if (!desc->insn)
171 desc->insn[desc->nr - 1] = insn;
180 static void print_formats(struct gen_opcode *desc)
185 qsort(desc->insn, desc->nr, sizeof(*desc->insn), cmpformat);
189 for (i = 0; i < desc->nr; i++) {
190 if (!strcmp(format, desc->insn[i].format))
193 format = desc->insn[i].format;
204 static void print_long_insn(struct gen_opcode *desc)
209 qsort(desc->insn, desc->nr, sizeof(*desc->insn), cmp_long_insn);
212 for (i = 0; i < desc->nr; i++) {
213 insn = &desc->insn[i];
222 for (i = 0; i < desc->nr; i++) {
223 insn = &desc->insn[i];
246 static void add_to_group(struct gen_opcode *desc, struct insn *insn, int offset)
250 group = desc->group ? &desc->group[desc->nr_groups - 1] : NULL;
255 desc->nr_groups++;
256 desc->group = realloc(desc->group, desc->nr_groups * sizeof(*desc->group));
257 if (!desc->group)
259 group = &desc->group[desc->nr_groups - 1];
271 static void print_opcode_table(struct gen_opcode *desc)
277 qsort(desc->insn, desc->nr, sizeof(*desc->insn), cmpopcode);
280 for (i = 0; i < desc->nr; i++) {
281 insn = &desc->insn[i];
284 add_to_group(desc, insn, offset);
293 for (i = 0; i < desc->nr; i++) {
294 insn = &desc->insn[i];
297 add_to_group(desc, insn, offset);
304 static void print_opcode_table_offsets(struct gen_opcode *desc)
310 for (i = 0; i < desc->nr_groups; i++) {
311 group = &desc->group[i];
321 struct gen_opcode *desc = &_desc;
323 read_instructions(desc);
331 print_formats(desc);
332 print_long_insn(desc);
333 print_opcode_table(desc);
334 print_opcode_table_offsets(desc);