Changeset 104136 in vbox
- Timestamp:
- Apr 3, 2024 1:22:57 PM (8 months ago)
- Location:
- trunk/src/VBox/VMM/VMMAll
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllAImpl.asm
r104135 r104136 4897 4897 vmovdqu xmm1, [A3] 4898 4898 v %+ %1 xmm0, xmm0, xmm1 4899 vmovdqu [A1 + IEMAVX128RESULT.uResult], xmm04899 vmovdqu [A1], xmm0 4900 4900 4901 4901 SSE_AVX_ST_MXCSR R0_32, A0_32 … … 4912 4912 vmovdqu ymm1, [A3] 4913 4913 v %+ %1 ymm0, ymm0, ymm1 4914 vmovdqu [A1 + IEMAVX256RESULT.uResult], ymm04914 vmovdqu [A1], ymm0 4915 4915 4916 4916 SSE_AVX_ST_MXCSR R0_32, A0_32 … … 4927 4927 vmovdqu xmm1, [A3] 4928 4928 v %+ %1 xmm0, xmm1 4929 vmovdqu [A1 + IEMAVX128RESULT.uResult], xmm04929 vmovdqu [A1], xmm0 4930 4930 4931 4931 SSE_AVX_ST_MXCSR R0_32, A0_32 … … 4942 4942 vmovdqu ymm1, [A3] 4943 4943 v %+ %1 ymm0, ymm1 4944 vmovdqu [A1 + IEMAVX256RESULT.uResult], ymm04944 vmovdqu [A1], ymm0 4945 4945 4946 4946 SSE_AVX_ST_MXCSR R0_32, A0_32 -
trunk/src/VBox/VMM/VMMAll/IEMAllN8vePython.py
r104075 r104136 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 # })): 675 # for sStmt in dUnsupportedStmts: 676 # if sStmt in g_dUnsupportedMcStmtLastOneAImplStats: 677 # g_dUnsupportedMcStmtLastOneAImplStats[sStmt].append(oVariation); 678 # else: 679 # 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 '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,]; 680 681 681 682 return None; … … 720 721 if g_dUnsupportedMcStmtLastOneStats: 721 722 asTopKeys = sorted(g_dUnsupportedMcStmtLastOneStats, reverse = True, 722 key = lambda sSortKey: len(g_dUnsupportedMcStmtLastOneStats[sSortKey])) [:16];723 key = lambda sSortKey: len(g_dUnsupportedMcStmtLastOneStats[sSortKey])); 723 724 print('todo:', file = sys.stderr); 724 725 print('todo: Top %s variations with one unsupported statement dependency:' % (len(asTopKeys),), … … 733 734 734 735 asTopKeys = sorted(g_dUnsupportedMcStmtStats, reverse = True, 735 key = lambda sSortKey: g_dUnsupportedMcStmtStats[sSortKey]) [:16];736 key = lambda sSortKey: g_dUnsupportedMcStmtStats[sSortKey]); 736 737 print('todo:', file = sys.stderr); 737 738 print('todo: Top %d most used unimplemented statements:' % (len(asTopKeys),), file = sys.stderr); … … 749 750 print('todo:', file = sys.stderr); 750 751 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);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); 764 765 765 766 return True;
Note:
See TracChangeset
for help on using the changeset viewer.