; Listing generated by Microsoft (R) Optimizing Compiler Version 19.37.32824.0 include listing.inc INCLUDELIB OLDNAMES EXTRN __imp__aligned_free:PROC PUBLIC deinit_mat2 PUBLIC transpose2to4 PUBLIC transpose2to3 ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\mat2.c ; COMDAT transpose2to3 _TEXT SEGMENT source$ = 8 target$ = 16 transpose2to3 PROC ; COMDAT ; 8 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(1, 0, 1, 0)); 00000 0f 10 19 movups xmm3, XMMWORD PTR [rcx] ; 9 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(3, 2, 3, 2)); ; 10 : ; 11 : target->colum[0] = _mm_shuffle_ps(t0, *defaultVecPtr, _MM_SHUFFLE(2, 0, 2, 0)); 00003 48 8b 05 00 00 00 00 mov rax, QWORD PTR defaultVecPtr 0000a 0f 10 51 04 movups xmm2, XMMWORD PTR [rcx+4] 0000e 0f 28 cb movaps xmm1, xmm3 00011 0f c6 ca 44 shufps xmm1, xmm2, 68 ; 00000044H 00015 0f 28 c1 movaps xmm0, xmm1 00018 0f c6 da ee shufps xmm3, xmm2, 238 ; 000000eeH 0001c 0f c6 00 88 shufps xmm0, XMMWORD PTR [rax], 136 ; 00000088H 00020 0f 11 02 movups XMMWORD PTR [rdx], xmm0 ; 12 : target->colum[1] = _mm_shuffle_ps(t0, *defaultVecPtr, _MM_SHUFFLE(3, 1, 3, 1)); 00023 0f c6 08 dd shufps xmm1, XMMWORD PTR [rax], 221 ; 000000ddH 00027 0f 11 4a 10 movups XMMWORD PTR [rdx+16], xmm1 ; 13 : target->colum[2] = _mm_shuffle_ps(t1, *defaultVecPtr, _MM_SHUFFLE(2, 0, 2, 0)); 0002b 0f c6 18 88 shufps xmm3, XMMWORD PTR [rax], 136 ; 00000088H 0002f 0f 11 5a 20 movups XMMWORD PTR [rdx+32], xmm3 ; 14 : } 00033 c3 ret 0 transpose2to3 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\mat2.c ; COMDAT transpose2to4 _TEXT SEGMENT source$ = 8 target$ = 16 transpose2to4 PROC ; COMDAT ; 18 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(1, 0, 1, 0)); 00000 0f 10 41 04 movups xmm0, XMMWORD PTR [rcx+4] ; 19 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(3, 2, 3, 2)); ; 20 : ; 21 : target->colum[0] = _mm_shuffle_ps(t0, *defaultVecPtr, _MM_SHUFFLE(2, 0, 2, 0)); 00004 48 8b 05 00 00 00 00 mov rax, QWORD PTR defaultVecPtr 0000b 0f 10 11 movups xmm2, XMMWORD PTR [rcx] 0000e 0f 28 ca movaps xmm1, xmm2 00011 0f c6 d0 ee shufps xmm2, xmm0, 238 ; 000000eeH 00015 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H 00019 0f 28 c1 movaps xmm0, xmm1 0001c 0f c6 00 88 shufps xmm0, XMMWORD PTR [rax], 136 ; 00000088H 00020 0f 11 02 movups XMMWORD PTR [rdx], xmm0 ; 22 : target->colum[1] = _mm_shuffle_ps(t0, *defaultVecPtr, _MM_SHUFFLE(3, 1, 3, 1)); ; 23 : target->colum[2] = _mm_shuffle_ps(t1, *defaultVecPtr, _MM_SHUFFLE(2, 0, 2, 0)); 00023 0f 28 c2 movaps xmm0, xmm2 00026 0f c6 08 dd shufps xmm1, XMMWORD PTR [rax], 221 ; 000000ddH 0002a 0f 11 4a 10 movups XMMWORD PTR [rdx+16], xmm1 0002e 0f c6 00 88 shufps xmm0, XMMWORD PTR [rax], 136 ; 00000088H 00032 0f 11 42 20 movups XMMWORD PTR [rdx+32], xmm0 ; 24 : target->colum[3] = _mm_shuffle_ps(t1, *defaultVecPtr, _MM_SHUFFLE(3, 1, 3, 1)); 00036 0f c6 10 dd shufps xmm2, XMMWORD PTR [rax], 221 ; 000000ddH 0003a 0f 11 52 30 movups XMMWORD PTR [rdx+48], xmm2 ; 25 : } 0003e c3 ret 0 transpose2to4 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\mat2.c ; COMDAT deinit_mat2 _TEXT SEGMENT mat$ = 8 deinit_mat2 PROC ; COMDAT ; 29 : _aligned_free(mat); 00000 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp__aligned_free deinit_mat2 ENDP _TEXT ENDS END