Files
stgsharp/StgSharp.Native/x64/Debug/intrinsic.cod
T

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