Changeset 104137 in vbox
- Timestamp:
- Apr 3, 2024 1:24:35 PM (12 months ago)
- svn:sync-xref-src-repo-rev:
- 162558
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllN8vePython.py
r104136 r104137 619 619 620 620 ### Statistics: List of variations (value) with aimpl_[^0] calls that is only missing this one statement (key). 621 g_dUnsupportedMcStmtLastOneAImplStats = {}621 #g_dUnsupportedMcStmtLastOneAImplStats = {} 622 622 623 623 … … 653 653 g_dUnsupportedMcStmtLastOneStats[sStmt] = [oVariation,]; 654 654 655 if ( len(dUnsupportedStmts) in (1,2) 656 and iai.McStmt.findStmtByNames(aoStmts, 657 { 'IEM_MC_CALL_AIMPL_3': 1, 658 'IEM_MC_CALL_AIMPL_4': 1, 659 #'IEM_MC_CALL_VOID_AIMPL_0': 1, - can't test results... ? 660 'IEM_MC_CALL_VOID_AIMPL_1': 1, 661 'IEM_MC_CALL_VOID_AIMPL_2': 1, 662 'IEM_MC_CALL_VOID_AIMPL_3': 1, 663 'IEM_MC_CALL_VOID_AIMPL_4': 1, 664 'IEM_MC_CALL_FPU_AIMPL_1': 1, 665 'IEM_MC_CALL_FPU_AIMPL_2': 1, 666 'IEM_MC_CALL_FPU_AIMPL_3': 1, 667 'IEM_MC_CALL_MMX_AIMPL_2': 1, 668 'IEM_MC_CALL_MMX_AIMPL_3': 1, 669 'IEM_MC_CALL_SSE_AIMPL_2': 1, 670 'IEM_MC_CALL_SSE_AIMPL_3': 1, 671 'IEM_MC_CALL_AVX_AIMPL_2': 1, 672 'IEM_MC_CALL_AVX_AIMPL_3': 1, 673 'IEM_MC_CALL_AVX_AIMPL_4': 1, 674 'IEM_MC_CALL_AVX_AIMPL_NEW_3': 1, 675 })): 676 for sStmt in dUnsupportedStmts: 677 if sStmt in g_dUnsupportedMcStmtLastOneAImplStats: 678 g_dUnsupportedMcStmtLastOneAImplStats[sStmt].append(oVariation); 679 else: 680 g_dUnsupportedMcStmtLastOneAImplStats[sStmt] = [oVariation,]; 655 #if ( len(dUnsupportedStmts) in (1,2) 656 # and iai.McStmt.findStmtByNames(aoStmts, 657 # { 'IEM_MC_CALL_AIMPL_3': 1, 658 # 'IEM_MC_CALL_AIMPL_4': 1, 659 # #'IEM_MC_CALL_VOID_AIMPL_0': 1, - can't test results... ? 660 # 'IEM_MC_CALL_VOID_AIMPL_1': 1, 661 # 'IEM_MC_CALL_VOID_AIMPL_2': 1, 662 # 'IEM_MC_CALL_VOID_AIMPL_3': 1, 663 # 'IEM_MC_CALL_VOID_AIMPL_4': 1, 664 # #'IEM_MC_CALL_FPU_AIMPL_1': 1, 665 # #'IEM_MC_CALL_FPU_AIMPL_2': 1, 666 # #'IEM_MC_CALL_FPU_AIMPL_3': 1, 667 # #'IEM_MC_CALL_MMX_AIMPL_2': 1, 668 # #'IEM_MC_CALL_MMX_AIMPL_3': 1, 669 # #'IEM_MC_CALL_SSE_AIMPL_2': 1, 670 # #'IEM_MC_CALL_SSE_AIMPL_3': 1, 671 # #'IEM_MC_CALL_AVX_AIMPL_2': 1, 672 # #'IEM_MC_CALL_AVX_AIMPL_3': 1, 673 # #'IEM_MC_CALL_AVX_AIMPL_4': 1, 674 # })): 675 # for sStmt in dUnsupportedStmts: 676 # if sStmt in g_dUnsupportedMcStmtLastOneAImplStats: 677 # g_dUnsupportedMcStmtLastOneAImplStats[sStmt].append(oVariation); 678 # else: 679 # g_dUnsupportedMcStmtLastOneAImplStats[sStmt] = [oVariation,]; 681 680 682 681 return None; … … 721 720 if g_dUnsupportedMcStmtLastOneStats: 722 721 asTopKeys = sorted(g_dUnsupportedMcStmtLastOneStats, reverse = True, 723 key = lambda sSortKey: len(g_dUnsupportedMcStmtLastOneStats[sSortKey])) ;722 key = lambda sSortKey: len(g_dUnsupportedMcStmtLastOneStats[sSortKey]))[:16]; 724 723 print('todo:', file = sys.stderr); 725 724 print('todo: Top %s variations with one unsupported statement dependency:' % (len(asTopKeys),), … … 734 733 735 734 asTopKeys = sorted(g_dUnsupportedMcStmtStats, reverse = True, 736 key = lambda sSortKey: g_dUnsupportedMcStmtStats[sSortKey]) ;735 key = lambda sSortKey: g_dUnsupportedMcStmtStats[sSortKey])[:16]; 737 736 print('todo:', file = sys.stderr); 738 737 print('todo: Top %d most used unimplemented statements:' % (len(asTopKeys),), file = sys.stderr); … … 750 749 print('todo:', file = sys.stderr); 751 750 752 if g_dUnsupportedMcStmtLastOneAImplStats:753 asTopKeys = sorted(g_dUnsupportedMcStmtLastOneAImplStats, reverse = True,754 key = lambda sSortKey: len(g_dUnsupportedMcStmtLastOneAImplStats[sSortKey]));755 print('todo:', file = sys.stderr);756 print('todo: Top %s variations with AIMPL call and 1-2 unsupported statement dependencies:' % (len(asTopKeys),),757 file = sys.stderr);758 cchMaxKey = max([len(sKey) for sKey in asTopKeys]);759 for sKey in asTopKeys:760 print('todo: %*s = %s (%s%s)'761 % (cchMaxKey, sKey, len(g_dUnsupportedMcStmtLastOneAImplStats[sKey]),762 ', '.join([oVar.getShortName() for oVar in g_dUnsupportedMcStmtLastOneAImplStats[sKey][:5]]),763 ',...' if len(g_dUnsupportedMcStmtLastOneAImplStats[sKey]) >= 5 else '', )764 , file = sys.stderr);751 #if g_dUnsupportedMcStmtLastOneAImplStats: 752 # asTopKeys = sorted(g_dUnsupportedMcStmtLastOneAImplStats, reverse = True, 753 # key = lambda sSortKey: len(g_dUnsupportedMcStmtLastOneAImplStats[sSortKey]))[:16]; 754 # print('todo:', file = sys.stderr); 755 # print('todo: Top %s variations with AIMPL call and 1-2 unsupported statement dependencies:' % (len(asTopKeys),), 756 # file = sys.stderr); 757 # cchMaxKey = max([len(sKey) for sKey in asTopKeys]); 758 # for sKey in asTopKeys: 759 # print('todo: %*s = %s (%s%s)' 760 # % (cchMaxKey, sKey, len(g_dUnsupportedMcStmtLastOneAImplStats[sKey]), 761 # ', '.join([oVar.getShortName() for oVar in g_dUnsupportedMcStmtLastOneAImplStats[sKey][:5]]), 762 # ',...' if len(g_dUnsupportedMcStmtLastOneAImplStats[sKey]) >= 5 else '', ) 763 # , file = sys.stderr); 765 764 766 765 return True;
Note:
See TracChangeset
for help on using the changeset viewer.