Lines Matching defs:encoding

777   RegisterForm *regBlock = _AD.get_registers(); // Information about registers encoding
810 EncodeForm *encBlock; // Information about instruction/operand encoding
826 parse_err(SYNERR, "missing identifier inside encoding block.\n");
841 char *ec_name; // Name of encoding class being defined
843 // Get encoding class name
847 parse_err(SYNERR, "missing encoding class name after encode.\n");
851 EncClass *encoding = _AD._encode->add_EncClass(ec_name);
852 encoding->_linenum = linenum();
881 encoding->add_parameter( pType, pName );
901 enc_class_parse_block(encoding, ec_name);
905 void ADLParser::enc_class_parse_block(EncClass* encoding, char* ec_name) {
909 encoding->add_code(get_line_string());
932 encoding->add_code(start);
942 encoding->add_rep_var(rep_var);
951 encoding->add_code(end_line_marker());
2200 // register save type, and register encoding value.
2205 char *encoding = NULL;
2258 // Parse the encoding value
2259 encoding = get_expr("encoding", ",");
2260 if (encoding == NULL) {
2261 parse_err(SYNERR, "missing register encoding value\n");
2264 trim(encoding);
2301 _AD._register->addRegDef(rname, callconv, c_conv, idealtype, encoding, concrete);
2763 // Create a new encoding name based on the name of the instruction
2770 EncClass* encoding = _AD._encode->add_EncClass(ec_name);
2771 encoding->_linenum = linenum();
2779 encoding->add_parameter(opForm->_ident, param);
2782 // Define a MacroAssembler instance for use by the encoding. The
2786 encoding->add_code(" MacroAssembler _masm(&cbuf);\n");
2789 ins_encode_parse_block_impl(inst, encoding, ec_name);
2791 // Build an encoding rule which invokes the encoding rule we just
2812 void ADLParser::ins_encode_parse_block_impl(InstructForm& inst, EncClass* encoding, char* ec_name) {
2816 encoding->add_code(get_line_string());
2839 encoding->add_code(start);
2850 encoding->add_rep_var(rep_var);
2880 encoding->add_code(end_line_marker());
2901 // which synthesizes a new encoding class taking the same arguments as
2939 // Check that encoding is defined in the encode section
2956 char *param = get_ident_or_literal_constant("encoding operand");
2968 parse_err(SYNERR, "Using non-locally defined parameter %s for encoding %s.\n", param, ec_name);
2993 parse_err(SYNERR, "Expected encode parameter before ',' in encoding %s.\n", ec_name);
3003 } // done with parameter list for encoding
3005 // Check for ',' or ')' after encoding
3014 parse_err(SYNERR, "Expected ')' after encoding %s.\n", ec_name);
3057 // Create a new encoding name based on the name of the instruction
3064 EncClass* encoding = _AD._encode->add_EncClass(ec_name);
3065 encoding->_linenum = linenum();
3073 encoding->add_parameter(opForm->_ident, param);
3077 constant_parse_expression(encoding, ec_name);
3079 // Build an encoding rule which invokes the encoding rule we just
3094 void ADLParser::constant_parse_expression(EncClass* encoding, char* ec_name) {
3099 encoding->add_code(get_line_string());
3103 encoding->add_code(" _constant = C->constant_table().add");
3106 encoding->add_code("(this, ");
3116 encoding->add_code("(");
3122 encoding->add_code(")");
3135 encoding->add_code(start);
3143 encoding->add_rep_var(rep_var);
3149 encoding->add_code(");");
3152 encoding->add_code(end_line_marker());