Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## Intrinsics Multiply
- template<>
- __forceinline void MultiplyInstance(const Vector4<float>& other) {
- _mm_store_ps(this->Elements, _mm_mul_ps(_mm_load_ps(this->Elements), _mm_load_ps(other.Elements)));
- }
- ## Regular Multiply
- template <typename T>
- __forceinline void MultiplyInstance(const Vector4<T>& other) {
- this->X *= other.X;
- this->Y *= other.Y;
- this->Z *= other.Z;
- this->W *= other.W;
- }
- ## Win32 Release ASM
- 00B11F94 fld dword ptr [esp+10h]
- 00B11F98 inc ecx
- 00B11F99 fmul st,st(2)
- 00B11F9B mov dword ptr [esp+8],ecx
- 00B11F9F fstp dword ptr [esp+10h]
- 00B11FA3 fld dword ptr [esp+14h]
- 00B11FA7 fmul st,st(2)
- 00B11FA9 fstp dword ptr [esp+14h]
- 00B11FAD fld dword ptr [esp+18h]
- 00B11FB1 fmul st,st(2)
- 00B11FB3 fstp dword ptr [esp+18h]
- 00B11FB7 fld dword ptr [esp+1Ch]
- 00B11FBB fmul st,st(2)
- 00B11FBD fstp dword ptr [esp+1Ch]
- 00B11FC1 fild dword ptr [esp+8]
- 00B11FC5 fcomp st(1)
- 00B11FC7 fnstsw ax
- 00B11FC9 test ah,5
- ## Win32 Release With Intrinsics ASM
- 00261FD5 mulps xmm0,xmm1
- ## x64 Release ASM
- 000000013F6423F7 mulss xmm8,xmm6
- 000000013F6423FC mulss xmm7,xmm6
- 000000013F642400 movd xmm0,r11d
- 000000013F642405 mulss xmm9,xmm6
- 000000013F64240A mulss xmm10,xmm6
- 000000013F64240F cvtdq2pd xmm0,xmm0
- 000000013F642413 comisd xmm11,xmm0
- ## x64 Release With Intrinsics ASM
- 000000013FD22406 movaps xmm2,xmmword ptr [rbp+7]
- 000000013FD2240A movaps xmm1,xmmword ptr [rbp-9]
- 000000013FD2240E xchg ax,ax
- 000000013FD22410 inc r11d
- 000000013FD22413 mulps xmm1,xmm2
- 000000013FD22416 movd xmm0,r11d
- 000000013FD2241B cvtdq2pd xmm0,xmm0
- 000000013FD2241F comisd xmm7,xmm0
Advertisement
Add Comment
Please, Sign In to add comment