Lines Matching defs:instr
311 InstructForm *instr;
312 for( ; (instr = (InstructForm*)_instructions.iter()) != NULL; ) {
314 instr->build_components();
317 if ( instr->_matrule == NULL ) continue;
319 MatchRule &mrule = *instr->_matrule;
320 Predicate *pred = instr->build_predicate();
323 const char *rootOp = instr->_ident;
327 const char *costStr = instr->cost();
333 const char *result = instr->reduce_result();
335 if ( instr->is_ideal_branch() && instr->label_position() == -1 ||
336 !instr->is_ideal_branch() && instr->label_position() != -1) {
337 syntax_err(instr->_linenum, "%s: Only branches to a label are supported\n", rootOp);
340 Attribute *attr = instr->_attribs;
344 if (!instr->is_ideal_branch() || instr->label_position() == -1) {
345 syntax_err(instr->_linenum, "%s: Only short branch to a label is supported\n", rootOp);
347 instr->set_short_branch(true);
350 instr->set_alignment(attr->int_val(*this));
355 if (!instr->is_short_branch()) {
356 buildMatchList(instr->_matrule, result, mrule._machType, pred, cost);