Lines Matching refs:record

306      record */
573 table_entry *record,
576 table_entry *model_record = record;
579 if (record->nr_fields < nr_fields)
580 error (record->line, "Incorrect number of fields\n");
581 record = table_read (file);
582 if (record->type == table_code_entry)
584 code_record = record;
585 record = table_read (file);
587 /* create the new data record */
604 return record;
635 parse_include_record (table *file, table_entry *record)
637 /* parse the include record */
638 if (record->nr_fields < nr_include_fields)
639 error (record->line, "Incorrect nr fields for include record\n");
642 record->field[record_filter_flags_field])
644 record->field[record_filter_models_field]))
646 table_push (file, record->line, options.include,
647 record->field[include_filename_field]);
649 /* nb: can't read next record until after the file has been pushed */
650 record = table_read (file);
651 return record;
656 parse_option_record (table *file, table_entry *record)
659 /* parse the option record */
660 option_record = record;
661 if (record->nr_fields < nr_option_fields)
662 error (record->line, "Incorrect nr of fields for option record\n");
663 record = table_read (file);
734 return record;
740 table_entry *record,
747 new_function->line = record->line;
750 if (record_is_old (record))
752 if (record->nr_fields < nr_old_function_fields)
753 error (record->line, "Missing fields from (old) function record\n");
754 new_function->type = record->field[old_function_typedef_field];
755 new_function->type = record->field[old_function_typedef_field];
756 if (record->nr_fields > old_function_param_field)
757 new_function->param = record->field[old_function_param_field];
758 new_function->name = record->field[old_function_name_field];
762 if (record->nr_fields < nr_function_fields)
763 error (record->line, "Missing fields from function record\n");
765 record->field[record_filter_flags_field]);
767 record->field[record_filter_models_field]);
768 new_function->type = record->field[function_typedef_field];
769 new_function->param = record->field[function_param_field];
770 new_function->name = record->field[function_name_field];
772 record = table_read (file);
774 while (record != NULL
775 && record_prefix_is (record, '*', nr_function_model_fields))
777 char *model_name = record->field[function_model_name_field] + 1; /*skip `*' */
781 error (record->line, "machine model `%s' undefined\n", model_name);
783 record = table_read (file);
786 if (record->type == table_code_entry)
788 new_function->code = record;
789 record = table_read (file);
815 return record;
820 table_entry *record,
826 new_insn_model->line = record->line;
827 if (record->nr_fields > insn_model_unit_data_field)
828 new_insn_model->unit_data = record->field[insn_model_unit_data_field];
833 record->field[insn_model_name_field] + 1 /*skip `*' */ );
849 /* Find the corresponding master model record for each name so
887 table_entry *record, insn_entry * insn)
892 new_insn_mnemonic->line = record->line;
893 ASSERT (record->nr_fields > insn_mnemonic_format_field);
894 new_insn_mnemonic->format = record->field[insn_mnemonic_format_field];
900 if (record->nr_fields > insn_mnemonic_condition_field)
902 record->field[insn_mnemonic_condition_field];
914 parse_macro_record (table *file, table_entry *record)
917 error (record->line, "Macros are not implemented\n");
919 /* parse the define record */
920 if (record->nr_fields < nr_define_fields)
921 error (record->line, "Incorrect nr fields for define record\n");
924 record->field[record_filter_flags_field])
926 record->field[record_filter_models_field]))
929 record->line,
930 record->field[macro_name_field],
931 record->field[macro_args_field],
932 record->field[macro_expr_field]);
934 record = table_read (file);
936 return record;
944 table_entry *record = table_read (file);
952 while (record != NULL)
955 switch (record_type (record))
960 record = parse_include_record (file, record);
967 error (record->line, "Option after first instruction\n");
968 record = parse_option_record (file, record);
975 record = parse_function_record (file, record,
979 /* convert a string function record into an internal function */
993 case function_record: /* function record */
995 record = parse_function_record (file, record,
1006 record = parse_function_record (file, record,
1044 /* parse the cache record */
1045 if (record->nr_fields < nr_cache_fields)
1046 error (record->line,
1047 "Incorrect nr of fields for scratch/cache/compute record\n");
1050 new_cache->line = record->line;
1052 record->field[record_filter_flags_field]);
1054 record->field[record_filter_models_field]);
1055 new_cache->type = record->field[cache_typedef_field];
1056 new_cache->name = record->field[cache_name_field];
1058 record->field[cache_original_fields_field]);
1059 new_cache->expression = record->field[cache_expression_field];
1068 record->
1084 record = table_read (file);
1093 if (record->nr_fields < nr_model_processor_fields)
1094 error (record->line,
1095 "Incorrect nr of fields for model record\n");
1097 error (record->line, "Model appears after first instruction\n");
1100 record->field[record_filter_flags_field]);
1101 new_model->line = record->line;
1102 new_model->name = record->field[model_name_field];
1103 new_model->full_name = record->field[model_full_name_field];
1104 new_model->unit_data = record->field[model_unit_data_field];
1113 record->
1137 record = table_read (file);
1142 record = parse_model_data_record (isa, file, record,
1148 record = parse_model_data_record (isa, file, record,
1154 record = parse_function_record (file, record,
1161 record = parse_function_record (file, record,
1168 record = parse_function_record (file, record,
1179 if (record->nr_fields < nr_insn_fields)
1180 error (record->line,
1181 "Incorrect nr of fields for insn record\n");
1183 new_insn->line = record->line;
1185 record->field[record_filter_flags_field]);
1189 format = record->field[insn_word_field];
1190 new_insn->format_name = record->field[insn_format_name_field];
1198 record->field[insn_options_field]);
1199 new_insn->name = record->field[insn_name_field];
1200 record = table_read (file);
1205 while (record != NULL)
1207 if (record_prefix_is (record, '*', nr_insn_model_fields))
1208 parse_insn_model_record (file, record, new_insn, model);
1210 if (record_prefix_is (record, '"', nr_insn_mnemonic_fields))
1211 parse_insn_mnemonic_record (file, record, new_insn);
1215 record = table_read (file);
1217 /* Parse the code record */
1218 if (record != NULL && record->type == table_code_entry)
1220 new_insn->code = record;
1221 record = table_read (file);
1267 record = parse_macro_record (file, record);
1272 error (record->line, "Unknown or unexpected entry\n");