Files
stgsharp/StgSharp.Native/x64/Debug/intrinsic.cod
T
2025-08-25 10:11:20 +08:00

1237 lines
35 KiB
Plaintext

; Listing generated by Microsoft (R) Optimizing Compiler Version 19.44.35215.0
include listing.inc
INCLUDELIB MSVCRTD
INCLUDELIB OLDNAMES
_DATA SEGMENT
COMM infolog:BYTE:0200H
_DATA ENDS
msvcjmc SEGMENT
__5C8CA4D3_mmintrin@h DB 01H
__8C83BECC_concurrencysal@h DB 01H
__608E3340_sal@h DB 01H
__FB67E29A_vadefs@h DB 01H
__1D1B619C_vcruntime@h DB 01H
__1B0272D9_corecrt@h DB 01H
__45DED006_corecrt_malloc@h DB 01H
__FA77ED4C_malloc@h DB 01H
__9DCE0DC8_xmmintrin@h DB 01H
__0ED14FEE_winpackagefamily@h DB 01H
__F92EF742_winapifamily@h DB 01H
__22E515EB_sdkddkver@h DB 01H
__9BAEE128_excpt@h DB 01H
__B7B53233_stdarg@h DB 01H
__29F49F40_specstrings_undef@h DB 01H
__D0F42932_specstrings_strict@h DB 01H
__F00405FD_sdv_driverspecs@h DB 01H
__173E09CA_driverspecs@h DB 01H
__9A452361_specstrings@h DB 01H
__74484FB3_corecrt_wctype@h DB 01H
__1EC467ED_ctype@h DB 01H
__98517906_kernelspecs@h DB 01H
__D3497022_basetsd@h DB 01H
__61CC25A1_errno@h DB 01H
__8C6AE390_vcruntime_string@h DB 01H
__E4C945B4_corecrt_memcpy_s@h DB 01H
__8EAFF484_corecrt_memory@h DB 01H
__6490AEC5_corecrt_wstring@h DB 01H
__E8295E1E_string@h DB 01H
__7FCB5136_guiddef@h DB 01H
__FF8A9E11_pshpack4@h DB 01H
__D5438902_poppack@h DB 01H
__FB07E2A3_pshpack2@h DB 01H
__F6906775_pshpack8@h DB 01H
__F9415CFA_pshpack1@h DB 01H
__E58C6F1C_apiset@h DB 01H
__A5C52262_ktmtypes@h DB 01H
__FBBA8F9D_winnt@h DB 01H
__A32D3D2C_minwindef@h DB 01H
__7D798299_windef@h DB 01H
__9AE108E9_apisetcconv@h DB 01H
__9CE53D2C_minwinbase@h DB 01H
__5D0AA210_apiquery2@h DB 01H
__4DD4E726_processenv@h DB 01H
__3575CC96_fileapi@h DB 01H
__8EA220E6_fileapifromapp@h DB 01H
__BF9B31FE_debugapi@h DB 01H
__C3AFE134_utilapiset@h DB 01H
__76F69E51_handleapi@h DB 01H
__7E63D784_errhandlingapi@h DB 01H
__FFA7003C_fibersapi@h DB 01H
__8971CECF_namedpipeapi@h DB 01H
__46C9D8A6_profileapi@h DB 01H
__98D4F0A3_heapapi@h DB 01H
__50EF2A88_ioapiset@h DB 01H
__92EA1464_synchapi@h DB 01H
__A53D8AED_interlockedapi@h DB 01H
__B506CAAF_processthreadsapi@h DB 01H
__FF735694_sysinfoapi@h DB 01H
__29589789_memoryapi@h DB 01H
__E9C7A663_enclaveapi@h DB 01H
__D035F9F7_threadpoollegacyapiset@h DB 01H
__C899130C_threadpoolapiset@h DB 01H
__E0441EE7_jobapi@h DB 01H
__CEF86838_jobapi2@h DB 01H
__35AC6B9A_wow64apiset@h DB 01H
__C8AE41A5_libloaderapi@h DB 01H
__CC9E232D_securitybaseapi@h DB 01H
__C9D0C9B8_namespaceapi@h DB 01H
__30FF9CAD_systemtopologyapi@h DB 01H
__4D358795_processtopologyapi@h DB 01H
__40446D10_securityappcontainer@h DB 01H
__3A952EDF_realtimeapiset@h DB 01H
__F4865F4B_winerror@h DB 01H
__53C1BD93_timezoneapi@h DB 01H
__1FFBEDBF_winbase@h DB 01H
__43D3FA34_wingdi@h DB 01H
__D24A7391_tvout@h DB 01H
__7713A6C8_winuser@h DB 01H
__0B345F71_datetimeapi@h DB 01H
__9AC6960C_winnls@h DB 01H
__973A40A8_stringapiset@h DB 01H
__CC46FEE2_wincontypes@h DB 01H
__97D70BE1_consoleapi@h DB 01H
__27EC5E18_consoleapi2@h DB 01H
__262E342F_consoleapi3@h DB 01H
__641DCD70_wincon@h DB 01H
__5A96C7A7_verrsrc@h DB 01H
__B69C6FF2_winver@h DB 01H
__7AEB8C37_reason@h DB 01H
__59F1A8A9_winreg@h DB 01H
__EE0E2B7F_wnnc@h DB 01H
__DCDB7054_winnetwk@h DB 01H
__81DDEDE3_stralign@h DB 01H
__2134D1B4_winsvc@h DB 01H
__11C07376_mcx@h DB 01H
__577CE3E7_ime_cmodes@h DB 01H
__1E72C31E_imm@h DB 01H
__E15BF856_windows@h DB 01H
__639A050C_sn_internal@h DB 01H
__44420885_corecrt_stdio_config@h DB 01H
__AB601D8D_corecrt_wstdio@h DB 01H
__C1EC35D3_stdio@h DB 01H
__13F5961F_stddef@h DB 01H
__FD6DBD68_corecrt_search@h DB 01H
__E2E33A61_corecrt_wstdlib@h DB 01H
__3D1CA2C3_limits@h DB 01H
__6E5ACABA_stdlib@h DB 01H
__C363A436_stb_image@h DB 01H
__836A8CFC_stdint@h DB 01H
__C95DC661_khrplatform@h DB 01H
__6C577136_gl@h DB 01H
__EE638A2C_wgl@h DB 01H
__E76F0EB7_glfw3@h DB 01H
__F8AC8404_emmintrin@h DB 01H
__270DEC8D_pmmintrin@h DB 01H
__97D49F0F_tmmintrin@h DB 01H
__BEEF8A8C_smmintrin@h DB 01H
__DB8D0340_nmmintrin@h DB 01H
__0E36F90E_wmmintrin@h DB 01H
__C5A2B409_zmmintrin@h DB 01H
__F2B616C3_immintrin@h DB 01H
__19139D6C_assert@h DB 01H
__4E664295_glfw_function@h DB 01H
__64C0EF11_StgSharpNative@h DB 01H
__47E843D2_intrin0@inl@h DB 01H
__130964FF_setjmp@h DB 01H
__4875F786_ammintrin@h DB 01H
__353FD888_intrin@h DB 01H
__5FE1E9E3_isa_availability@h DB 01H
__AA840D82_sn_intrinsic@h DB 01H
__A357B3F7_intrinsic@c DB 01H
msvcjmc ENDS
PUBLIC __check_isa_support
PUBLIC load_intrinsic_function
PUBLIC __JustMyCode_Default
PUBLIC ??_C@_1GG@DGIJFDBH@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@ ; `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@_1GG@DGIJFDBH@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@
CONST SEGMENT
??_C@_1GG@DGIJFDBH@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@ DB 'D'
DB 00H, ':', 00H, '\', 00H, 'p', 00H, 'l', 00H, 'a', 00H, 't', 00H
DB 'f', 00H, 'o', 00H, 'r', 00H, 'm', 00H, '-', 00H, 'd', 00H, 'e'
DB 00H, 'v', 00H, '\', 00H, 'S', 00H, 't', 00H, 'g', 00H, 'S', 00H
DB 'h', 00H, 'a', 00H, 'r', 00H, 'p', 00H, '.', 00H, 'N', 00H, 'a'
DB 00H, 't', 00H, 'i', 00H, 'v', 00H, 'e', 00H, '\', 00H, 's', 00H
DB 'n', 00H, '-', 00H, 's', 00H, 'r', 00H, 'c', 00H, '\', 00H, 'i'
DB 00H, 'n', 00H, 't', 00H, 'r', 00H, 'i', 00H, 'n', 00H, 's', 00H
DB 'i', 00H, 'c', 00H, '.', 00H, 'c', 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:\platform-dev\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:__A357B3F7_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:\platform-dev\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:__A357B3F7_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:\platform-dev\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:__A357B3F7_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:\platform-dev\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:__A357B3F7_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:\platform-dev\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:__A357B3F7_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@_1GG@DGIJFDBH@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@
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\Community\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:__F2B616C3_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