386 fprintf(fp, " else if( _c%d == BoolTest::ne ) st->print(\"%s\");\n",i,cond->_not_equal_format); |
386 fprintf(fp, " else if( _c%d == BoolTest::ne ) st->print(\"%s\");\n",i,cond->_not_equal_format); |
387 fprintf(fp, " else if( _c%d == BoolTest::le ) st->print(\"%s\");\n",i,cond->_less_equal_format); |
387 fprintf(fp, " else if( _c%d == BoolTest::le ) st->print(\"%s\");\n",i,cond->_less_equal_format); |
388 fprintf(fp, " else if( _c%d == BoolTest::ge ) st->print(\"%s\");\n",i,cond->_greater_equal_format); |
388 fprintf(fp, " else if( _c%d == BoolTest::ge ) st->print(\"%s\");\n",i,cond->_greater_equal_format); |
389 fprintf(fp, " else if( _c%d == BoolTest::lt ) st->print(\"%s\");\n",i,cond->_less_format); |
389 fprintf(fp, " else if( _c%d == BoolTest::lt ) st->print(\"%s\");\n",i,cond->_less_format); |
390 fprintf(fp, " else if( _c%d == BoolTest::gt ) st->print(\"%s\");\n",i,cond->_greater_format); |
390 fprintf(fp, " else if( _c%d == BoolTest::gt ) st->print(\"%s\");\n",i,cond->_greater_format); |
|
391 fprintf(fp, " else if( _c%d == BoolTest::overflow ) st->print(\"%s\");\n",i,cond->_overflow_format); |
|
392 fprintf(fp, " else if( _c%d == BoolTest::no_overflow ) st->print(\"%s\");\n",i,cond->_no_overflow_format); |
391 } |
393 } |
392 |
394 |
393 // Output code that dumps constant values, increment "i" if type is constant |
395 // Output code that dumps constant values, increment "i" if type is constant |
394 static uint dump_spec_constant(FILE *fp, const char *ideal_type, uint i, OperandForm* oper) { |
396 static uint dump_spec_constant(FILE *fp, const char *ideal_type, uint i, OperandForm* oper) { |
395 if (!strcmp(ideal_type, "ConI")) { |
397 if (!strcmp(ideal_type, "ConI")) { |
1206 fprintf(fp," case BoolTest::gt : return greater();\n"); |
1208 fprintf(fp," case BoolTest::gt : return greater();\n"); |
1207 fprintf(fp," case BoolTest::lt : return less();\n"); |
1209 fprintf(fp," case BoolTest::lt : return less();\n"); |
1208 fprintf(fp," case BoolTest::ne : return not_equal();\n"); |
1210 fprintf(fp," case BoolTest::ne : return not_equal();\n"); |
1209 fprintf(fp," case BoolTest::le : return less_equal();\n"); |
1211 fprintf(fp," case BoolTest::le : return less_equal();\n"); |
1210 fprintf(fp," case BoolTest::ge : return greater_equal();\n"); |
1212 fprintf(fp," case BoolTest::ge : return greater_equal();\n"); |
|
1213 fprintf(fp," case BoolTest::overflow : return overflow();\n"); |
|
1214 fprintf(fp," case BoolTest::no_overflow: return no_overflow();\n"); |
1211 fprintf(fp," default : ShouldNotReachHere(); return 0;\n"); |
1215 fprintf(fp," default : ShouldNotReachHere(); return 0;\n"); |
1212 fprintf(fp," }\n"); |
1216 fprintf(fp," }\n"); |
1213 fprintf(fp," };\n"); |
1217 fprintf(fp," };\n"); |
1214 } |
1218 } |
1215 |
1219 |
1370 define_oper_interface(fp, *oper, _globalNames, "less_equal", less_equal); |
1374 define_oper_interface(fp, *oper, _globalNames, "less_equal", less_equal); |
1371 } |
1375 } |
1372 const char *greater = cInterface->_greater; |
1376 const char *greater = cInterface->_greater; |
1373 if( greater != NULL ) { |
1377 if( greater != NULL ) { |
1374 define_oper_interface(fp, *oper, _globalNames, "greater", greater); |
1378 define_oper_interface(fp, *oper, _globalNames, "greater", greater); |
|
1379 } |
|
1380 const char *overflow = cInterface->_overflow; |
|
1381 if( overflow != NULL ) { |
|
1382 define_oper_interface(fp, *oper, _globalNames, "overflow", overflow); |
|
1383 } |
|
1384 const char *no_overflow = cInterface->_no_overflow; |
|
1385 if( no_overflow != NULL ) { |
|
1386 define_oper_interface(fp, *oper, _globalNames, "no_overflow", no_overflow); |
1375 } |
1387 } |
1376 } // end Conditional Interface |
1388 } // end Conditional Interface |
1377 // Check if it is a Constant Interface |
1389 // Check if it is a Constant Interface |
1378 else if (oper->_interface->is_ConstInterface() != NULL ) { |
1390 else if (oper->_interface->is_ConstInterface() != NULL ) { |
1379 assert( oper->num_consts(_globalNames) == 1, |
1391 assert( oper->num_consts(_globalNames) == 1, |