Lines Matching refs:match

182     else if      (!strcmp(ident, "match")) {
183 // Allow one instruction have several match rules.
186 // This is first match rule encountered
199 // Find the end of the match rule list
202 // Add the new match rule to the list
207 parse_err(SYNERR, "unique match rule expected for %s\n", rule->_name);
210 assert(match_rules_cnt < 100," too many match rule clones");
249 parse_err(SYNERR, "expected one of:\n predicate, match, encode, or the name of an instruction attribute at %s\n", ident);
273 // Create instruction form for each additional match rule
289 clone->_matrule->_next = NULL; // One match rule per clone
302 // Clone match rule and swap commutative operation's operands.
326 // Can not have additional base operands in right side of match!
331 // Needed for shared roots of match-trees
437 else if (!strcmp(ident, "match")) {
438 // Find the end of the match rule list
442 // Add the new match rule to the list
449 // This is first match rule encountered
480 parse_err(SYNERR, "expected one of - constraint, predicate, match, encode, format, construct, or the name of a defined operand attribute at %s\n", ident);
2430 InstructForm *ADLParser::peep_match_child_parse(PeepMatch &match, int parent, int &position, int input){
2436 // Walk the match tree,
2444 ( void ) peep_match_child_parse(match, parent, position, rparen);
2455 match.add_instruction( parent, position, NameList::_signal, input );
2473 match.add_instruction( parent, position, token, input );
2515 PeepMatch *match = new PeepMatch(_ptr);
2519 InstructForm *root= peep_match_child_parse( *match, parent, position, input);
2539 // Store match into peep, and store peep into instruction
2540 peep.add_match(match);
2783 // name is chosen to match the __ idiom used for assembly in other
3530 MatchRule *match; // Match Rule class for instruction/operand
3535 // Parse the match rule tree
3544 else if ((cnstr = find_cpp_block("match constructor")) == NULL ) {
3545 parse_err(SYNERR, "invalid construction of match rule\n"
3552 match = new MatchRule(_AD, mnode, depth, cnstr, numleaves);
3554 return match; // Return MatchRule object
4022 parse_err(SYNERR, "missing opcode in match expression\n");
4028 // one architecture there is a match rule and on another there isn't (so
4075 parse_err(SYNERR, "missing ')' in match expression\n");
4112 parse_err(SYNERR, "undefined operand %s in match rule\n", token);
5042 // match one non-space char