1244 lines
36 KiB
Plaintext
1244 lines
36 KiB
Plaintext
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.44.35213.0
|
|
|
|
include listing.inc
|
|
|
|
INCLUDELIB MSVCRTD
|
|
INCLUDELIB OLDNAMES
|
|
|
|
_DATA SEGMENT
|
|
COMM infolog:BYTE:0200H
|
|
_DATA ENDS
|
|
msvcjmc SEGMENT
|
|
__1F8170E1_mmintrin@h DB 01H
|
|
__39F22AB7_concurrencysal@h DB 01H
|
|
__B3864887_sal@h DB 01H
|
|
__AD974A83_vadefs@h DB 01H
|
|
__D58F3DC8_vcruntime@h DB 01H
|
|
__735960E1_corecrt@h DB 01H
|
|
__211DB995_corecrt_malloc@h DB 01H
|
|
__7CD62D9E_malloc@h DB 01H
|
|
__555A519C_xmmintrin@h DB 01H
|
|
__4C2AD0C7_winpackagefamily@h DB 01H
|
|
__9DED9ED1_winapifamily@h DB 01H
|
|
__12FEDF4E_sdkddkver@h DB 01H
|
|
__D8C2DB1D_excpt@h DB 01H
|
|
__E1459A2A_stdarg@h DB 01H
|
|
__6B04FCB3_specstrings_undef@h DB 01H
|
|
__F4027AF7_specstrings_strict@h DB 01H
|
|
__B90340D4_sdv_driverspecs@h DB 01H
|
|
__BFFF5AD3_driverspecs@h DB 01H
|
|
__32847078_specstrings@h DB 01H
|
|
__108B2620_corecrt_wctype@h DB 01H
|
|
__6CD6613D_ctype@h DB 01H
|
|
__30902A1F_kernelspecs@h DB 01H
|
|
__376FD5CA_basetsd@h DB 01H
|
|
__13DE2371_errno@h DB 01H
|
|
__B7C3A181_vcruntime_string@h DB 01H
|
|
__8ACB2152_corecrt_memcpy_s@h DB 01H
|
|
__EA6C9D17_corecrt_memory@h DB 01H
|
|
__0DF2AF52_corecrt_wstring@h DB 01H
|
|
__6E889ECC_string@h DB 01H
|
|
__9BEDF4DE_guiddef@h DB 01H
|
|
__51BFD2FE_pshpack4@h DB 01H
|
|
__31652CEA_poppack@h DB 01H
|
|
__5532AE4C_pshpack2@h DB 01H
|
|
__58A52B9A_pshpack8@h DB 01H
|
|
__57741015_pshpack1@h DB 01H
|
|
__CDE68C90_apiset@h DB 01H
|
|
__0BF06E8D_ktmtypes@h DB 01H
|
|
__40C200C0_winnt@h DB 01H
|
|
__9336F789_minwindef@h DB 01H
|
|
__55136115_windef@h DB 01H
|
|
__32205BF0_apisetcconv@h DB 01H
|
|
__B48FDEA0_minwinbase@h DB 01H
|
|
__3551B028_apiquery2@h DB 01H
|
|
__65BE04AA_processenv@h DB 01H
|
|
__4767CA46_fileapi@h DB 01H
|
|
__282E6C4B_fileapifromapp@h DB 01H
|
|
__393AF12C_debugapi@h DB 01H
|
|
__EBC502B8_utilapiset@h DB 01H
|
|
__1EAD8C69_handleapi@h DB 01H
|
|
__D8EF9B29_errhandlingapi@h DB 01H
|
|
__97FC1204_fibersapi@h DB 01H
|
|
__27448220_namedpipeapi@h DB 01H
|
|
__6EA33B2A_profileapi@h DB 01H
|
|
__EAC6F673_heapapi@h DB 01H
|
|
__D64EEA5A_ioapiset@h DB 01H
|
|
__144BD4B6_synchapi@h DB 01H
|
|
__03B1C640_interlockedapi@h DB 01H
|
|
__DC64CB38_processthreadsapi@h DB 01H
|
|
__D719B518_sysinfoapi@h DB 01H
|
|
__410385B1_memoryapi@h DB 01H
|
|
__C1AD45EF_enclaveapi@h DB 01H
|
|
__F4C3AA32_threadpoollegacyapiset@h DB 01H
|
|
__AC5A7A9F_threadpoolapiset@h DB 01H
|
|
__F5254B21_jobapi@h DB 01H
|
|
__BCEA6EE8_jobapi2@h DB 01H
|
|
__D18ACE72_wow64apiset@h DB 01H
|
|
__669B0D4A_libloaderapi@h DB 01H
|
|
__645F7034_securitybaseapi@h DB 01H
|
|
__67E58557_namespaceapi@h DB 01H
|
|
__599D9D3A_systemtopologyapi@h DB 01H
|
|
__2337E373_processtopologyapi@h DB 01H
|
|
__02BFF239_securityappcontainer@h DB 01H
|
|
__9C196272_realtimeapiset@h DB 01H
|
|
__5AB313A4_winerror@h DB 01H
|
|
__B7E7187B_timezoneapi@h DB 01H
|
|
__6DE9EB6F_winbase@h DB 01H
|
|
__56B2AFF2_wingdi@h DB 01H
|
|
__BA1161A9_tvout@h DB 01H
|
|
__0501A018_winuser@h DB 01H
|
|
__EF12FA99_datetimeapi@h DB 01H
|
|
__8FA7C3CA_winnls@h DB 01H
|
|
__390F0C47_stringapiset@h DB 01H
|
|
__28605B0A_wincontypes@h DB 01H
|
|
__BFBDE86D_consoleapi@h DB 01H
|
|
__C3CAFBF0_consoleapi2@h DB 01H
|
|
__C20891C7_consoleapi3@h DB 01H
|
|
__717C98B6_wincon@h DB 01H
|
|
__2884C177_verrsrc@h DB 01H
|
|
__A3FD3A34_winver@h DB 01H
|
|
__6F8AD9F1_reason@h DB 01H
|
|
__4C90FD6F_winreg@h DB 01H
|
|
__68AFEBAD_wnnc@h DB 01H
|
|
__5A7AB086_winnetwk@h DB 01H
|
|
__2FE8A10C_stralign@h DB 01H
|
|
__34558472_winsvc@h DB 01H
|
|
__058845F1_mcx@h DB 01H
|
|
__7F16006B_ime_cmodes@h DB 01H
|
|
__0A3AF599_imm@h DB 01H
|
|
__9349FE86_windows@h DB 01H
|
|
__AD5C15D8_sn_internal@h DB 01H
|
|
__60B45B40_corecrt_stdio_config@h DB 01H
|
|
__CFA3741E_corecrt_wstdio@h DB 01H
|
|
__B3FE3303_stdio@h DB 01H
|
|
__955456CD_stddef@h DB 01H
|
|
__99AED4FB_corecrt_search@h DB 01H
|
|
__8B813BF6_corecrt_wstdlib@h DB 01H
|
|
__6BEC0ADA_limits@h DB 01H
|
|
__E8FB0A68_stdlib@h DB 01H
|
|
__500EB2D2_stb_image@h DB 01H
|
|
__D59A24E5_stdint@h DB 01H
|
|
__079BD6B5_khrplatform@h DB 01H
|
|
__67B0FD84_gl@h DB 01H
|
|
__CB07BF00_wgl@h DB 01H
|
|
__EC888205_glfw3@h DB 01H
|
|
__3038D850_emmintrin@h DB 01H
|
|
__EF99B0D9_pmmintrin@h DB 01H
|
|
__5F40C35B_tmmintrin@h DB 01H
|
|
__767BD6D8_smmintrin@h DB 01H
|
|
__13195F14_nmmintrin@h DB 01H
|
|
__C6A2A55A_wmmintrin@h DB 01H
|
|
__0D36E85D_zmmintrin@h DB 01H
|
|
__3A224A97_immintrin@h DB 01H
|
|
__9FB25DBE_assert@h DB 01H
|
|
__B6859C2C_glfw_function@h DB 01H
|
|
__D68507E7_StgSharpNative@h DB 01H
|
|
__FBE20EC9_intrin0@inl@h DB 01H
|
|
__45F9CCE6_setjmp@h DB 01H
|
|
__80E1ABD2_ammintrin@h DB 01H
|
|
__63CF7091_intrin@h DB 01H
|
|
__6448ABF2_isa_availability@h DB 01H
|
|
__2BF4DD5F_sn_intrinsic@h DB 01H
|
|
__C7BECA7A_intrinsic@c DB 01H
|
|
msvcjmc ENDS
|
|
PUBLIC __check_isa_support
|
|
PUBLIC load_intrinsic_function
|
|
PUBLIC __JustMyCode_Default
|
|
PUBLIC ??_C@_1LO@DNHELBBE@?$AAD?$AA?3?$AA?2?$AAN?$AAi?$AAt?$AAl?$AAo?$AAa?$AAd?$AAI?$AAn?$AAd?$AAu?$AAs@ ; `string'
|
|
PUBLIC ??_C@_1DE@BIMGEDNO@?$AAi?$AAn?$AAt?$AAr?$AAi?$AAn?$AAs?$AAi?$AAc?$AA_?$AAc?$AAo?$AAn?$AAt?$AAe@ ; `string'
|
|
EXTRN __imp__wassert:PROC
|
|
EXTRN normalize:PROC
|
|
EXTRN addmatrix2_sse:PROC
|
|
EXTRN addmatrix2_avx:PROC
|
|
EXTRN submatrix2_sse:PROC
|
|
EXTRN transpose23:PROC
|
|
EXTRN transpose24:PROC
|
|
EXTRN addmatrix3_sse:PROC
|
|
EXTRN addmatrix3_avx:PROC
|
|
EXTRN addmatrix3_512:PROC
|
|
EXTRN submatrix3_sse:PROC
|
|
EXTRN transpose32:PROC
|
|
EXTRN transpose33:PROC
|
|
EXTRN transpose34:PROC
|
|
EXTRN det_mat3:PROC
|
|
EXTRN addmatrix4_sse:PROC
|
|
EXTRN addmatrix4_avx:PROC
|
|
EXTRN addmatrix4_512:PROC
|
|
EXTRN submatrix4_sse:PROC
|
|
EXTRN transpose42:PROC
|
|
EXTRN transpose43:PROC
|
|
EXTRN transpose44:PROC
|
|
EXTRN det_mat4:PROC
|
|
EXTRN dot_41_sse:PROC
|
|
EXTRN dot_31_sse:PROC
|
|
EXTRN dot_41_avx:PROC
|
|
EXTRN dot_31_avx:PROC
|
|
EXTRN dot_32_sse:PROC
|
|
EXTRN dot_32_avx:PROC
|
|
EXTRN dot_42_sse:PROC
|
|
EXTRN dot_42_avx:PROC
|
|
EXTRN dot_43_sse:PROC
|
|
EXTRN dot_43_avx:PROC
|
|
EXTRN factorial_simd_sse:PROC
|
|
EXTRN city_hash_simplify_sse:PROC
|
|
EXTRN index_pair_sse:PROC
|
|
EXTRN _RTC_InitBase:PROC
|
|
EXTRN _RTC_Shutdown:PROC
|
|
EXTRN __CheckForDebuggerJustMyCode:PROC
|
|
EXTRN __isa_inverted:QWORD
|
|
EXTRN __avx10_version:DWORD
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$__check_isa_support DD imagerel $LN7
|
|
DD imagerel $LN7+138
|
|
DD imagerel $unwind$__check_isa_support
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$load_intrinsic_function DD imagerel $LN11
|
|
DD imagerel $LN11+213
|
|
DD imagerel $unwind$load_intrinsic_function
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$load_intrinsic_sse DD imagerel load_intrinsic_sse
|
|
DD imagerel load_intrinsic_sse+518
|
|
DD imagerel $unwind$load_intrinsic_sse
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$load_intrinsic_avx DD imagerel load_intrinsic_avx
|
|
DD imagerel load_intrinsic_avx+461
|
|
DD imagerel $unwind$load_intrinsic_avx
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$load_intrinsic_512 DD imagerel load_intrinsic_512
|
|
DD imagerel load_intrinsic_512+461
|
|
DD imagerel $unwind$load_intrinsic_512
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$check_isa DD imagerel check_isa
|
|
DD imagerel check_isa+70
|
|
DD imagerel $unwind$check_isa
|
|
pdata ENDS
|
|
; COMDAT rtc$TMZ
|
|
rtc$TMZ SEGMENT
|
|
_RTC_Shutdown.rtc$TMZ DQ FLAT:_RTC_Shutdown
|
|
rtc$TMZ ENDS
|
|
; COMDAT rtc$IMZ
|
|
rtc$IMZ SEGMENT
|
|
_RTC_InitBase.rtc$IMZ DQ FLAT:_RTC_InitBase
|
|
rtc$IMZ ENDS
|
|
; COMDAT ??_C@_1DE@BIMGEDNO@?$AAi?$AAn?$AAt?$AAr?$AAi?$AAn?$AAs?$AAi?$AAc?$AA_?$AAc?$AAo?$AAn?$AAt?$AAe@
|
|
CONST SEGMENT
|
|
??_C@_1DE@BIMGEDNO@?$AAi?$AAn?$AAt?$AAr?$AAi?$AAn?$AAs?$AAi?$AAc?$AA_?$AAc?$AAo?$AAn?$AAt?$AAe@ DB 'i'
|
|
DB 00H, 'n', 00H, 't', 00H, 'r', 00H, 'i', 00H, 'n', 00H, 's', 00H
|
|
DB 'i', 00H, 'c', 00H, '_', 00H, 'c', 00H, 'o', 00H, 'n', 00H, 't'
|
|
DB 00H, 'e', 00H, 'x', 00H, 't', 00H, ' ', 00H, '!', 00H, '=', 00H
|
|
DB ' ', 00H, 'N', 00H, 'U', 00H, 'L', 00H, 'L', 00H, 00H, 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT ??_C@_1LO@DNHELBBE@?$AAD?$AA?3?$AA?2?$AAN?$AAi?$AAt?$AAl?$AAo?$AAa?$AAd?$AAI?$AAn?$AAd?$AAu?$AAs@
|
|
CONST SEGMENT
|
|
??_C@_1LO@DNHELBBE@?$AAD?$AA?3?$AA?2?$AAN?$AAi?$AAt?$AAl?$AAo?$AAa?$AAd?$AAI?$AAn?$AAd?$AAu?$AAs@ DB 'D'
|
|
DB 00H, ':', 00H, '\', 00H, 'N', 00H, 'i', 00H, 't', 00H, 'l', 00H
|
|
DB 'o', 00H, 'a', 00H, 'd', 00H, 'I', 00H, 'n', 00H, 'd', 00H, 'u'
|
|
DB 00H, 's', 00H, 't', 00H, 'r', 00H, 'y', 00H, '\', 00H, 014H, 'x'
|
|
DB 'vzy', 098H, 0eeH, 'v\', 00H, '1', 00H, '-', 00H, 'F', 00H, 'l'
|
|
DB 00H, 'a', 00H, 'g', 00H, 's', 00H, 'h', 00H, 'i', 00H, 'p', 00H
|
|
DB '\', 00H, 'T', 00H, 'H', 00H, '2', 00H, '0', 00H, '2', 00H, '0'
|
|
DB 00H, '\', 00H, 'P', 00H, 'r', 00H, 'o', 00H, 'j', 00H, 'e', 00H
|
|
DB 'c', 00H, 't', 00H, 'F', 00H, 'i', 00H, 'l', 00H, 'e', 00H, '\'
|
|
DB 00H, 085H, 'Q8h', 090H, 'n', 0e3H, 'N', 01H, 'x\', 00H, 'S', 00H
|
|
DB 't', 00H, 'g', 00H, 'S', 00H, 'h', 00H, 'a', 00H, 'r', 00H, 'p'
|
|
DB 00H, '.', 00H, 'N', 00H, 'a', 00H, 't', 00H, 'i', 00H, 'v', 00H
|
|
DB 'e', 00H, '\', 00H, 's', 00H, 'n', 00H, '-', 00H, 's', 00H, 'r'
|
|
DB 00H, 'c', 00H, '\', 00H, 'i', 00H, 'n', 00H, 't', 00H, 'r', 00H
|
|
DB 'i', 00H, 'n', 00H, 's', 00H, 'i', 00H, 'c', 00H, '.', 00H, 'c'
|
|
DB 00H, 00H, 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$check_isa DD 025051201H
|
|
DD 010d2312H
|
|
DD 07006001dH
|
|
DD 05005H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$load_intrinsic_512 DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$load_intrinsic_avx DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$load_intrinsic_sse DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$load_intrinsic_function DD 025051301H
|
|
DD 010e2313H
|
|
DD 070070021H
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$__check_isa_support DD 025051601H
|
|
DD 01112316H
|
|
DD 0700a001fH
|
|
DD 05009H
|
|
xdata ENDS
|
|
; Function compile flags: /Odt
|
|
; COMDAT __JustMyCode_Default
|
|
_TEXT SEGMENT
|
|
__JustMyCode_Default PROC ; COMDAT
|
|
00000 c2 00 00 ret 0
|
|
__JustMyCode_Default ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\ÄÚºËÔ´´úÂë\StgSharp.Native\sn-src\intrinsic.c
|
|
; COMDAT check_isa
|
|
_TEXT SEGMENT
|
|
instruction_family$ = 224
|
|
check_isa PROC ; COMDAT
|
|
|
|
; 17 : {
|
|
|
|
00000 89 4c 24 08 mov DWORD PTR [rsp+8], ecx
|
|
00004 55 push rbp
|
|
00005 57 push rdi
|
|
00006 48 81 ec e8 00
|
|
00 00 sub rsp, 232 ; 000000e8H
|
|
0000d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00012 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__C7BECA7A_intrinsic@c
|
|
00019 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
0001e 90 npad 1
|
|
|
|
; 18 : if (instruction_family != NEON) {
|
|
|
|
0001f 83 bd e0 00 00
|
|
00 05 cmp DWORD PTR instruction_family$[rbp], 5
|
|
00026 74 12 je SHORT $LN2@check_isa
|
|
|
|
; 19 : #if defined(_MSC_VER) && !defined(__clang__)
|
|
; 20 : return __check_isa_support(instruction_family, 0);
|
|
|
|
00028 33 d2 xor edx, edx
|
|
0002a 8b 8d e0 00 00
|
|
00 mov ecx, DWORD PTR instruction_family$[rbp]
|
|
00030 e8 00 00 00 00 call __check_isa_support
|
|
00035 0f b6 c0 movzx eax, al
|
|
00038 eb 02 jmp SHORT $LN1@check_isa
|
|
$LN2@check_isa:
|
|
|
|
; 21 : #else
|
|
; 22 : switch (instruction_family) {
|
|
; 23 : case SSE:
|
|
; 24 : return __builtin_cpu_supports("sse4.2");
|
|
; 25 : case AVX256:
|
|
; 26 : return __builtin_cpu_supports("avx2");
|
|
; 27 : case AVX512:
|
|
; 28 : return __builtin_cpu_supports("avx512f");
|
|
; 29 : default:
|
|
; 30 : return 0;
|
|
; 31 : }
|
|
; 32 : #endif // _MSC_VER
|
|
; 33 : }
|
|
; 34 :
|
|
; 35 : #if defined(__ARM_NEON) || defined(__ARM_NEON__)
|
|
; 36 : return 1;
|
|
; 37 : #else
|
|
; 38 : return 0;
|
|
|
|
0003a 33 c0 xor eax, eax
|
|
$LN1@check_isa:
|
|
|
|
; 39 : #endif
|
|
; 40 : }
|
|
|
|
0003c 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00043 5f pop rdi
|
|
00044 5d pop rbp
|
|
00045 c3 ret 0
|
|
check_isa ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\ÄÚºËÔ´´úÂë\StgSharp.Native\sn-src\intrinsic.c
|
|
; COMDAT load_intrinsic_512
|
|
_TEXT SEGMENT
|
|
context$ = 224
|
|
load_intrinsic_512 PROC ; COMDAT
|
|
|
|
; 120 : {
|
|
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 55 push rbp
|
|
00006 57 push rdi
|
|
00007 48 81 ec e8 00
|
|
00 00 sub rsp, 232 ; 000000e8H
|
|
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00013 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__C7BECA7A_intrinsic@c
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
0001f 90 npad 1
|
|
|
|
; 121 : context->add_m2 = addmatrix2_avx;
|
|
|
|
00020 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00027 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:addmatrix2_avx
|
|
0002e 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 122 : context->add_m3 = addmatrix3_512;
|
|
|
|
00031 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00038 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:addmatrix3_512
|
|
0003f 48 89 48 08 mov QWORD PTR [rax+8], rcx
|
|
|
|
; 123 : context->add_m4 = addmatrix4_512;
|
|
|
|
00043 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
0004a 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:addmatrix4_512
|
|
00051 48 89 48 10 mov QWORD PTR [rax+16], rcx
|
|
|
|
; 124 : context->transpose_23 = transpose23;
|
|
|
|
00055 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
0005c 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:transpose23
|
|
00063 48 89 88 88 00
|
|
00 00 mov QWORD PTR [rax+136], rcx
|
|
|
|
; 125 : context->transpose_24 = transpose24;
|
|
|
|
0006a 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00071 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:transpose24
|
|
00078 48 89 88 90 00
|
|
00 00 mov QWORD PTR [rax+144], rcx
|
|
|
|
; 126 : context->transpose_32 = transpose32;
|
|
|
|
0007f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00086 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:transpose32
|
|
0008d 48 89 88 98 00
|
|
00 00 mov QWORD PTR [rax+152], rcx
|
|
|
|
; 127 : context->transpose_33 = transpose33;
|
|
|
|
00094 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
0009b 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:transpose33
|
|
000a2 48 89 88 a0 00
|
|
00 00 mov QWORD PTR [rax+160], rcx
|
|
|
|
; 128 : context->transpose_34 = transpose34;
|
|
|
|
000a9 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
000b0 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:transpose34
|
|
000b7 48 89 88 a8 00
|
|
00 00 mov QWORD PTR [rax+168], rcx
|
|
|
|
; 129 : context->transpose_42 = transpose42;
|
|
|
|
000be 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
000c5 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:transpose42
|
|
000cc 48 89 88 b0 00
|
|
00 00 mov QWORD PTR [rax+176], rcx
|
|
|
|
; 130 : context->transpose_43 = transpose43;
|
|
|
|
000d3 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
000da 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:transpose43
|
|
000e1 48 89 88 b8 00
|
|
00 00 mov QWORD PTR [rax+184], rcx
|
|
|
|
; 131 : context->transpose_44 = transpose44;
|
|
|
|
000e8 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
000ef 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:transpose44
|
|
000f6 48 89 88 c0 00
|
|
00 00 mov QWORD PTR [rax+192], rcx
|
|
|
|
; 132 : context->normalize_3 = normalize;
|
|
|
|
000fd 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00104 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:normalize
|
|
0010b 48 89 48 68 mov QWORD PTR [rax+104], rcx
|
|
|
|
; 133 : context->det_matrix33 = det_mat3;
|
|
|
|
0010f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00116 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:det_mat3
|
|
0011d 48 89 48 20 mov QWORD PTR [rax+32], rcx
|
|
|
|
; 134 : context->det_matrix44 = det_mat4;
|
|
|
|
00121 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00128 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:det_mat4
|
|
0012f 48 89 48 28 mov QWORD PTR [rax+40], rcx
|
|
|
|
; 135 : context->dot_31 = dot_31_avx;
|
|
|
|
00133 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
0013a 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:dot_31_avx
|
|
00141 48 89 48 30 mov QWORD PTR [rax+48], rcx
|
|
|
|
; 136 : context->dot_32 = dot_32_avx;
|
|
|
|
00145 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
0014c 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:dot_32_avx
|
|
00153 48 89 48 38 mov QWORD PTR [rax+56], rcx
|
|
|
|
; 137 : context->dot_41 = dot_41_avx;
|
|
|
|
00157 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
0015e 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:dot_41_avx
|
|
00165 48 89 48 40 mov QWORD PTR [rax+64], rcx
|
|
|
|
; 138 : context->dot_42 = dot_42_avx;
|
|
|
|
00169 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00170 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:dot_42_avx
|
|
00177 48 89 48 48 mov QWORD PTR [rax+72], rcx
|
|
|
|
; 139 : context->dot_43 = dot_43_avx;
|
|
|
|
0017b 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00182 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:dot_43_avx
|
|
00189 48 89 48 50 mov QWORD PTR [rax+80], rcx
|
|
|
|
; 140 : context->city_hash_simplify = city_hash_simplify_sse;
|
|
|
|
0018d 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00194 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:city_hash_simplify_sse
|
|
0019b 48 89 48 18 mov QWORD PTR [rax+24], rcx
|
|
|
|
; 141 : context->index_pair = index_pair_sse;
|
|
|
|
0019f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
001a6 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:index_pair_sse
|
|
001ad 48 89 48 60 mov QWORD PTR [rax+96], rcx
|
|
|
|
; 142 : context->factorial_simd = factorial_simd_sse;
|
|
|
|
001b1 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
001b8 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:factorial_simd_sse
|
|
001bf 48 89 48 58 mov QWORD PTR [rax+88], rcx
|
|
|
|
; 143 : }
|
|
|
|
001c3 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
001ca 5f pop rdi
|
|
001cb 5d pop rbp
|
|
001cc c3 ret 0
|
|
load_intrinsic_512 ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\ÄÚºËÔ´´úÂë\StgSharp.Native\sn-src\intrinsic.c
|
|
; COMDAT load_intrinsic_avx
|
|
_TEXT SEGMENT
|
|
context$ = 224
|
|
load_intrinsic_avx PROC ; COMDAT
|
|
|
|
; 94 : {
|
|
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 55 push rbp
|
|
00006 57 push rdi
|
|
00007 48 81 ec e8 00
|
|
00 00 sub rsp, 232 ; 000000e8H
|
|
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00013 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__C7BECA7A_intrinsic@c
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
0001f 90 npad 1
|
|
|
|
; 95 : context->add_m2 = addmatrix2_avx;
|
|
|
|
00020 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00027 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:addmatrix2_avx
|
|
0002e 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 96 : context->add_m3 = addmatrix3_avx;
|
|
|
|
00031 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00038 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:addmatrix3_avx
|
|
0003f 48 89 48 08 mov QWORD PTR [rax+8], rcx
|
|
|
|
; 97 : context->add_m4 = addmatrix4_avx;
|
|
|
|
00043 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
0004a 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:addmatrix4_avx
|
|
00051 48 89 48 10 mov QWORD PTR [rax+16], rcx
|
|
|
|
; 98 : context->transpose_23 = transpose23;
|
|
|
|
00055 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
0005c 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:transpose23
|
|
00063 48 89 88 88 00
|
|
00 00 mov QWORD PTR [rax+136], rcx
|
|
|
|
; 99 : context->transpose_24 = transpose24;
|
|
|
|
0006a 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00071 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:transpose24
|
|
00078 48 89 88 90 00
|
|
00 00 mov QWORD PTR [rax+144], rcx
|
|
|
|
; 100 : context->transpose_32 = transpose32;
|
|
|
|
0007f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00086 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:transpose32
|
|
0008d 48 89 88 98 00
|
|
00 00 mov QWORD PTR [rax+152], rcx
|
|
|
|
; 101 : context->transpose_33 = transpose33;
|
|
|
|
00094 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
0009b 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:transpose33
|
|
000a2 48 89 88 a0 00
|
|
00 00 mov QWORD PTR [rax+160], rcx
|
|
|
|
; 102 : context->transpose_34 = transpose34;
|
|
|
|
000a9 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
000b0 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:transpose34
|
|
000b7 48 89 88 a8 00
|
|
00 00 mov QWORD PTR [rax+168], rcx
|
|
|
|
; 103 : context->transpose_42 = transpose42;
|
|
|
|
000be 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
000c5 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:transpose42
|
|
000cc 48 89 88 b0 00
|
|
00 00 mov QWORD PTR [rax+176], rcx
|
|
|
|
; 104 : context->transpose_43 = transpose43;
|
|
|
|
000d3 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
000da 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:transpose43
|
|
000e1 48 89 88 b8 00
|
|
00 00 mov QWORD PTR [rax+184], rcx
|
|
|
|
; 105 : context->transpose_44 = transpose44;
|
|
|
|
000e8 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
000ef 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:transpose44
|
|
000f6 48 89 88 c0 00
|
|
00 00 mov QWORD PTR [rax+192], rcx
|
|
|
|
; 106 : context->normalize_3 = normalize;
|
|
|
|
000fd 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00104 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:normalize
|
|
0010b 48 89 48 68 mov QWORD PTR [rax+104], rcx
|
|
|
|
; 107 : context->det_matrix33 = det_mat3;
|
|
|
|
0010f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00116 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:det_mat3
|
|
0011d 48 89 48 20 mov QWORD PTR [rax+32], rcx
|
|
|
|
; 108 : context->det_matrix44 = det_mat4;
|
|
|
|
00121 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00128 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:det_mat4
|
|
0012f 48 89 48 28 mov QWORD PTR [rax+40], rcx
|
|
|
|
; 109 : context->dot_31 = dot_31_avx;
|
|
|
|
00133 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
0013a 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:dot_31_avx
|
|
00141 48 89 48 30 mov QWORD PTR [rax+48], rcx
|
|
|
|
; 110 : context->dot_32 = dot_32_avx;
|
|
|
|
00145 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
0014c 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:dot_32_avx
|
|
00153 48 89 48 38 mov QWORD PTR [rax+56], rcx
|
|
|
|
; 111 : context->dot_41 = dot_41_avx;
|
|
|
|
00157 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
0015e 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:dot_41_avx
|
|
00165 48 89 48 40 mov QWORD PTR [rax+64], rcx
|
|
|
|
; 112 : context->dot_42 = dot_42_avx;
|
|
|
|
00169 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00170 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:dot_42_avx
|
|
00177 48 89 48 48 mov QWORD PTR [rax+72], rcx
|
|
|
|
; 113 : context->dot_43 = dot_43_avx;
|
|
|
|
0017b 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00182 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:dot_43_avx
|
|
00189 48 89 48 50 mov QWORD PTR [rax+80], rcx
|
|
|
|
; 114 : context->city_hash_simplify = city_hash_simplify_sse;
|
|
|
|
0018d 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00194 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:city_hash_simplify_sse
|
|
0019b 48 89 48 18 mov QWORD PTR [rax+24], rcx
|
|
|
|
; 115 : context->index_pair = index_pair_sse;
|
|
|
|
0019f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
001a6 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:index_pair_sse
|
|
001ad 48 89 48 60 mov QWORD PTR [rax+96], rcx
|
|
|
|
; 116 : context->factorial_simd = factorial_simd_sse;
|
|
|
|
001b1 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
001b8 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:factorial_simd_sse
|
|
001bf 48 89 48 58 mov QWORD PTR [rax+88], rcx
|
|
|
|
; 117 : }
|
|
|
|
001c3 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
001ca 5f pop rdi
|
|
001cb 5d pop rbp
|
|
001cc c3 ret 0
|
|
load_intrinsic_avx ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\ÄÚºËÔ´´úÂë\StgSharp.Native\sn-src\intrinsic.c
|
|
; COMDAT load_intrinsic_sse
|
|
_TEXT SEGMENT
|
|
context$ = 224
|
|
load_intrinsic_sse PROC ; COMDAT
|
|
|
|
; 65 : {
|
|
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 55 push rbp
|
|
00006 57 push rdi
|
|
00007 48 81 ec e8 00
|
|
00 00 sub rsp, 232 ; 000000e8H
|
|
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00013 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__C7BECA7A_intrinsic@c
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
0001f 90 npad 1
|
|
|
|
; 66 : context->add_m2 = addmatrix2_sse;
|
|
|
|
00020 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00027 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:addmatrix2_sse
|
|
0002e 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 67 : context->add_m3 = addmatrix3_sse;
|
|
|
|
00031 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00038 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:addmatrix3_sse
|
|
0003f 48 89 48 08 mov QWORD PTR [rax+8], rcx
|
|
|
|
; 68 : context->add_m4 = addmatrix4_sse;
|
|
|
|
00043 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
0004a 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:addmatrix4_sse
|
|
00051 48 89 48 10 mov QWORD PTR [rax+16], rcx
|
|
|
|
; 69 : context->transpose_23 = transpose23;
|
|
|
|
00055 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
0005c 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:transpose23
|
|
00063 48 89 88 88 00
|
|
00 00 mov QWORD PTR [rax+136], rcx
|
|
|
|
; 70 : context->transpose_24 = transpose24;
|
|
|
|
0006a 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00071 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:transpose24
|
|
00078 48 89 88 90 00
|
|
00 00 mov QWORD PTR [rax+144], rcx
|
|
|
|
; 71 : context->transpose_32 = transpose32;
|
|
|
|
0007f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00086 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:transpose32
|
|
0008d 48 89 88 98 00
|
|
00 00 mov QWORD PTR [rax+152], rcx
|
|
|
|
; 72 : context->transpose_33 = transpose33;
|
|
|
|
00094 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
0009b 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:transpose33
|
|
000a2 48 89 88 a0 00
|
|
00 00 mov QWORD PTR [rax+160], rcx
|
|
|
|
; 73 : context->transpose_34 = transpose34;
|
|
|
|
000a9 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
000b0 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:transpose34
|
|
000b7 48 89 88 a8 00
|
|
00 00 mov QWORD PTR [rax+168], rcx
|
|
|
|
; 74 : context->transpose_42 = transpose42;
|
|
|
|
000be 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
000c5 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:transpose42
|
|
000cc 48 89 88 b0 00
|
|
00 00 mov QWORD PTR [rax+176], rcx
|
|
|
|
; 75 : context->transpose_43 = transpose43;
|
|
|
|
000d3 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
000da 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:transpose43
|
|
000e1 48 89 88 b8 00
|
|
00 00 mov QWORD PTR [rax+184], rcx
|
|
|
|
; 76 : context->transpose_44 = transpose44;
|
|
|
|
000e8 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
000ef 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:transpose44
|
|
000f6 48 89 88 c0 00
|
|
00 00 mov QWORD PTR [rax+192], rcx
|
|
|
|
; 77 : context->normalize_3 = normalize;
|
|
|
|
000fd 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00104 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:normalize
|
|
0010b 48 89 48 68 mov QWORD PTR [rax+104], rcx
|
|
|
|
; 78 : context->det_matrix33 = det_mat3;
|
|
|
|
0010f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00116 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:det_mat3
|
|
0011d 48 89 48 20 mov QWORD PTR [rax+32], rcx
|
|
|
|
; 79 : context->det_matrix44 = det_mat4;
|
|
|
|
00121 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00128 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:det_mat4
|
|
0012f 48 89 48 28 mov QWORD PTR [rax+40], rcx
|
|
|
|
; 80 : context->dot_31 = dot_31_sse;
|
|
|
|
00133 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
0013a 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:dot_31_sse
|
|
00141 48 89 48 30 mov QWORD PTR [rax+48], rcx
|
|
|
|
; 81 : context->dot_32 = dot_32_sse;
|
|
|
|
00145 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
0014c 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:dot_32_sse
|
|
00153 48 89 48 38 mov QWORD PTR [rax+56], rcx
|
|
|
|
; 82 : context->dot_41 = dot_41_sse;
|
|
|
|
00157 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
0015e 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:dot_41_sse
|
|
00165 48 89 48 40 mov QWORD PTR [rax+64], rcx
|
|
|
|
; 83 : context->dot_42 = dot_42_sse;
|
|
|
|
00169 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00170 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:dot_42_sse
|
|
00177 48 89 48 48 mov QWORD PTR [rax+72], rcx
|
|
|
|
; 84 : context->dot_43 = dot_43_sse;
|
|
|
|
0017b 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00182 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:dot_43_sse
|
|
00189 48 89 48 50 mov QWORD PTR [rax+80], rcx
|
|
|
|
; 85 : context->city_hash_simplify = city_hash_simplify_sse;
|
|
|
|
0018d 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00194 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:city_hash_simplify_sse
|
|
0019b 48 89 48 18 mov QWORD PTR [rax+24], rcx
|
|
|
|
; 86 : context->index_pair = index_pair_sse;
|
|
|
|
0019f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
001a6 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:index_pair_sse
|
|
001ad 48 89 48 60 mov QWORD PTR [rax+96], rcx
|
|
|
|
; 87 : context->sub_m2 = submatrix2_sse;
|
|
|
|
001b1 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
001b8 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:submatrix2_sse
|
|
001bf 48 89 48 70 mov QWORD PTR [rax+112], rcx
|
|
|
|
; 88 : context->sub_m3 = submatrix3_sse;
|
|
|
|
001c3 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
001ca 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:submatrix3_sse
|
|
001d1 48 89 48 78 mov QWORD PTR [rax+120], rcx
|
|
|
|
; 89 : context->sub_m4 = submatrix4_sse;
|
|
|
|
001d5 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
001dc 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:submatrix4_sse
|
|
001e3 48 89 88 80 00
|
|
00 00 mov QWORD PTR [rax+128], rcx
|
|
|
|
; 90 : context->factorial_simd = factorial_simd_sse;
|
|
|
|
001ea 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
001f1 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:factorial_simd_sse
|
|
001f8 48 89 48 58 mov QWORD PTR [rax+88], rcx
|
|
|
|
; 91 : }
|
|
|
|
001fc 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00203 5f pop rdi
|
|
00204 5d pop rbp
|
|
00205 c3 ret 0
|
|
load_intrinsic_sse ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\ÄÚºËÔ´´úÂë\StgSharp.Native\sn-src\intrinsic.c
|
|
; COMDAT load_intrinsic_function
|
|
_TEXT SEGMENT
|
|
context$ = 8
|
|
intrinsic_context$ = 256
|
|
load_intrinsic_function PROC ; COMDAT
|
|
|
|
; 43 : {
|
|
|
|
$LN11:
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 55 push rbp
|
|
00006 57 push rdi
|
|
00007 48 81 ec 08 01
|
|
00 00 sub rsp, 264 ; 00000108H
|
|
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00013 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__C7BECA7A_intrinsic@c
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
0001f 90 npad 1
|
|
|
|
; 44 : sn_null_assert(intrinsic_context);
|
|
|
|
00020 48 83 bd 00 01
|
|
00 00 00 cmp QWORD PTR intrinsic_context$[rbp], 0
|
|
00028 75 1c jne SHORT $LN10@load_intri
|
|
0002a 41 b8 2c 00 00
|
|
00 mov r8d, 44 ; 0000002cH
|
|
00030 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:??_C@_1LO@DNHELBBE@?$AAD?$AA?3?$AA?2?$AAN?$AAi?$AAt?$AAl?$AAo?$AAa?$AAd?$AAI?$AAn?$AAd?$AAu?$AAs@
|
|
00037 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_C@_1DE@BIMGEDNO@?$AAi?$AAn?$AAt?$AAr?$AAi?$AAn?$AAs?$AAi?$AAc?$AA_?$AAc?$AAo?$AAn?$AAt?$AAe@
|
|
0003e ff 15 00 00 00
|
|
00 call QWORD PTR __imp__wassert
|
|
00044 33 c0 xor eax, eax
|
|
$LN10@load_intri:
|
|
|
|
; 45 :
|
|
; 46 : ssc_intrinsic *context = (ssc_intrinsic *)intrinsic_context;
|
|
|
|
00046 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR intrinsic_context$[rbp]
|
|
0004d 48 89 45 08 mov QWORD PTR context$[rbp], rax
|
|
|
|
; 47 :
|
|
; 48 : if (check_isa(AVX512)) {
|
|
|
|
00051 b9 04 00 00 00 mov ecx, 4
|
|
00056 e8 00 00 00 00 call check_isa
|
|
0005b 85 c0 test eax, eax
|
|
0005d 74 13 je SHORT $LN2@load_intri
|
|
|
|
; 49 : load_intrinsic_512(context);
|
|
|
|
0005f 48 8b 4d 08 mov rcx, QWORD PTR context$[rbp]
|
|
00063 e8 00 00 00 00 call load_intrinsic_512
|
|
00068 90 npad 1
|
|
|
|
; 50 : return 3;
|
|
|
|
00069 b8 03 00 00 00 mov eax, 3
|
|
0006e eb 5b jmp SHORT $LN1@load_intri
|
|
00070 eb 57 jmp SHORT $LN3@load_intri
|
|
$LN2@load_intri:
|
|
|
|
; 51 : } else if (check_isa(AVX256)) {
|
|
|
|
00072 b9 02 00 00 00 mov ecx, 2
|
|
00077 e8 00 00 00 00 call check_isa
|
|
0007c 85 c0 test eax, eax
|
|
0007e 74 13 je SHORT $LN4@load_intri
|
|
|
|
; 52 : load_intrinsic_avx(context);
|
|
|
|
00080 48 8b 4d 08 mov rcx, QWORD PTR context$[rbp]
|
|
00084 e8 00 00 00 00 call load_intrinsic_avx
|
|
00089 90 npad 1
|
|
|
|
; 53 : return 2;
|
|
|
|
0008a b8 02 00 00 00 mov eax, 2
|
|
0008f eb 3a jmp SHORT $LN1@load_intri
|
|
00091 eb 36 jmp SHORT $LN5@load_intri
|
|
$LN4@load_intri:
|
|
|
|
; 54 : } else if (check_isa(SSE)) {
|
|
|
|
00093 b9 10 00 00 00 mov ecx, 16
|
|
00098 e8 00 00 00 00 call check_isa
|
|
0009d 85 c0 test eax, eax
|
|
0009f 74 13 je SHORT $LN6@load_intri
|
|
|
|
; 55 : load_intrinsic_sse(context);
|
|
|
|
000a1 48 8b 4d 08 mov rcx, QWORD PTR context$[rbp]
|
|
000a5 e8 00 00 00 00 call load_intrinsic_sse
|
|
000aa 90 npad 1
|
|
|
|
; 56 : return 1;
|
|
|
|
000ab b8 01 00 00 00 mov eax, 1
|
|
000b0 eb 19 jmp SHORT $LN1@load_intri
|
|
000b2 eb 15 jmp SHORT $LN7@load_intri
|
|
$LN6@load_intri:
|
|
|
|
; 57 : } else if (check_isa(NEON)) {
|
|
|
|
000b4 b9 05 00 00 00 mov ecx, 5
|
|
000b9 e8 00 00 00 00 call check_isa
|
|
000be 85 c0 test eax, eax
|
|
000c0 74 07 je SHORT $LN8@load_intri
|
|
|
|
; 58 : return -1;
|
|
|
|
000c2 b8 ff ff ff ff mov eax, -1
|
|
000c7 eb 02 jmp SHORT $LN1@load_intri
|
|
$LN8@load_intri:
|
|
$LN7@load_intri:
|
|
$LN5@load_intri:
|
|
$LN3@load_intri:
|
|
|
|
; 59 : }
|
|
; 60 :
|
|
; 61 : return 0;
|
|
|
|
000c9 33 c0 xor eax, eax
|
|
$LN1@load_intri:
|
|
|
|
; 62 : }
|
|
|
|
000cb 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
000d2 5f pop rdi
|
|
000d3 5d pop rbp
|
|
000d4 c3 ret 0
|
|
load_intrinsic_function ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\include\immintrin.h
|
|
; COMDAT __check_isa_support
|
|
_TEXT SEGMENT
|
|
tv69 = 192
|
|
tv71 = 196
|
|
__x$ = 240
|
|
__v$ = 248
|
|
__check_isa_support PROC ; COMDAT
|
|
|
|
; 112 : { return ((__x & __isa_inverted) == 0) && ((unsigned char)__avx10_version >= __v); }
|
|
|
|
$LN7:
|
|
00000 89 54 24 10 mov DWORD PTR [rsp+16], edx
|
|
00004 89 4c 24 08 mov DWORD PTR [rsp+8], ecx
|
|
00008 55 push rbp
|
|
00009 57 push rdi
|
|
0000a 48 81 ec f8 00
|
|
00 00 sub rsp, 248 ; 000000f8H
|
|
00011 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00016 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__3A224A97_immintrin@h
|
|
0001d e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
00022 90 npad 1
|
|
00023 8b 85 f0 00 00
|
|
00 mov eax, DWORD PTR __x$[rbp]
|
|
00029 48 23 05 00 00
|
|
00 00 and rax, QWORD PTR __isa_inverted
|
|
00030 48 85 c0 test rax, rax
|
|
00033 75 1b jne SHORT $LN3@check_isa_
|
|
00035 0f b6 05 00 00
|
|
00 00 movzx eax, BYTE PTR __avx10_version
|
|
0003c 3b 85 f8 00 00
|
|
00 cmp eax, DWORD PTR __v$[rbp]
|
|
00042 72 0c jb SHORT $LN3@check_isa_
|
|
00044 c7 85 c0 00 00
|
|
00 01 00 00 00 mov DWORD PTR tv69[rbp], 1
|
|
0004e eb 0a jmp SHORT $LN4@check_isa_
|
|
$LN3@check_isa_:
|
|
00050 c7 85 c0 00 00
|
|
00 00 00 00 00 mov DWORD PTR tv69[rbp], 0
|
|
$LN4@check_isa_:
|
|
0005a 83 bd c0 00 00
|
|
00 00 cmp DWORD PTR tv69[rbp], 0
|
|
00061 75 0c jne SHORT $LN5@check_isa_
|
|
00063 c7 85 c4 00 00
|
|
00 00 00 00 00 mov DWORD PTR tv71[rbp], 0
|
|
0006d eb 0a jmp SHORT $LN6@check_isa_
|
|
$LN5@check_isa_:
|
|
0006f c7 85 c4 00 00
|
|
00 01 00 00 00 mov DWORD PTR tv71[rbp], 1
|
|
$LN6@check_isa_:
|
|
00079 0f b6 85 c4 00
|
|
00 00 movzx eax, BYTE PTR tv71[rbp]
|
|
00080 48 8d a5 d8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+216]
|
|
00087 5f pop rdi
|
|
00088 5d pop rbp
|
|
00089 c3 ret 0
|
|
__check_isa_support ENDP
|
|
_TEXT ENDS
|
|
END
|