<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Binary codes - Microsoft C++ in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067113#M56736</link>
    <description>&lt;STRONG&gt;Binary codes - Microsoft C++ compiler ( VS2005 PE ) 32-bit&lt;/STRONG&gt;

	&lt;STRONG&gt;Note&lt;/STRONG&gt;: Since Non-Native to compiler function was used more binary codes are generated!

		...
		0024B6C3  rdtsc
		0024B6C5  mov         dword ptr [esp+18h], eax
		0024B6C9  mov         dword ptr [esp+1Ch], edx
		0024B6CD  mov         eax, 48h
		0024B6D2  lea         edi, [esp+48h]
		0024B6D6  call        &lt;STRONG&gt;00242850&lt;/STRONG&gt;
		0024B6DB  rdtsc
		...

		&lt;STRONG&gt;[ 00242850 - 'memclr' ]&lt;/STRONG&gt;
		...
		00242850  push        ebp
		00242851  mov         ebp, esp
		00242853  sub         esp, 8
		00242856  test        edi, edi
		00242858  je          002428B2
		0024285A  test        eax, eax
		0024285C  jle         002428B2
		0024285E  mov         ecx, eax
		00242860  and         ecx, 3Fh
		00242863  mov         edx, eax
		00242865  sub         edx, ecx
		00242867  push        esi
		00242868  mov         dword ptr [ebp-8], edi
		0024286B  mov         dword ptr [ebp-4], edx
		0024286E  mov         esi, dword ptr [ebp-8]
		00242871  mov         ecx, dword ptr [ebp-4]
		00242874  shr         ecx, 6
		00242877  test        ecx, ecx
		00242879  je          00242899
		0024287B  prefetcht0  [esi]
		0024287E  xorpd       xmm0, xmm0
		00242882  &lt;STRONG&gt;movntps&lt;/STRONG&gt;     xmmword ptr [esi], xmm0
		00242885  &lt;STRONG&gt;movntps&lt;/STRONG&gt;     xmmword ptr [esi+10h], xmm0
		00242889  &lt;STRONG&gt;movntps&lt;/STRONG&gt;     xmmword ptr [esi+20h], xmm0
		0024288D  &lt;STRONG&gt;movntps&lt;/STRONG&gt;     xmmword ptr [esi+30h], xmm0
		00242891  add         esi, 40h
		00242894  sub         ecx, 1
		00242897  jmp         00242877
		00242899  sfence
		0024289C  cmp         edx, eax
		0024289E  pop         esi
		0024289F  jge         002428B2
		002428A1  sub         eax, edx
		002428A3  push        eax
		002428A4  lea         ecx, [edx+edi]
		002428A7  push        0
		002428A9  push        ecx
		002428AA  call        0024CA40
		002428AF  add         esp, 0Ch
		002428B2  mov         esp, ebp
		002428B4  pop         ebp
		002428B5  ret
		...</description>
    <pubDate>Sat, 10 Sep 2016 17:50:57 GMT</pubDate>
    <dc:creator>SergeyKostrov</dc:creator>
    <dc:date>2016-09-10T17:50:57Z</dc:date>
    <item>
      <title>Fastest version of a CRT-function 'memset'</title>
      <link>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067068#M56691</link>
      <description>&lt;STRONG&gt;*** Fastest version of a CRT-function 'memset' ***&lt;/STRONG&gt;

&lt;STRONG&gt;[ Abstract ]&lt;/STRONG&gt;

Moder C++ compilers allow to inline most CRT-functions. For example, Microsoft and Intel
C++ compilers have 'Enable Intrinsic Functions' option ( /Oi ). When that option is used
a C++ compiler generates highly optimized binary codes instead of calling a CRT-function
from a Run-Time Dynamic Link Library.

An analysis of several C++ compilers was completed in order to evaluate how they deal with
a simple call to CRT-function &lt;STRONG&gt;memset&lt;/STRONG&gt; ( initializes a block of memory with a value ).</description>
      <pubDate>Tue, 06 Sep 2016 14:51:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067068#M56691</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-09-06T14:51:57Z</dc:date>
    </item>
    <item>
      <title>[ Test Case - C codes ]</title>
      <link>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067069#M56692</link>
      <description>[ Test Case - C codes ]

		...
		typedef struct tagALIGNOFDATA
		{
			RTint iAlignofValue[9];
			RTtchar *pszTypeName[9];
		} ALIGNOFDATA;

		ALIGNOFDATA aod;

		CrtMemset( &amp;amp;aod, 0x0, sizeof( ALIGNOFDATA ) );
		...

		...
		_RTINLINE RTvoid * CrtMemset( RTvoid *pvDest, RTint iValue, RTsize_t iCount )
		{
			_RTvolatile RTuint64 uiClock1 = IrtRdtsc();
			memset( pvDest, iValue, iCount );
			_RTvolatile RTuint64 uiClock2 = IrtRdtsc();
			CrtPrintf( RTU("[ CrtMemset ] - Executed in %u clock cycles\n"),
				   ( RTuint )( uiClock2 - uiClock1 ) );
			return ( RTvoid * )pvDest;
		}
		...</description>
      <pubDate>Tue, 06 Sep 2016 15:48:06 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067069#M56692</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-09-06T15:48:06Z</dc:date>
    </item>
    <item>
      <title>[ Evaluation was done using</title>
      <link>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067070#M56693</link>
      <description>&lt;STRONG&gt;[ Evaluation was done using eight C++ compilers ]&lt;/STRONG&gt;

		&lt;STRONG&gt;// 32-bit C++ compilers&lt;/STRONG&gt;
		Microsoft C++ compiler ( VS2005 PE ) 32-bit
		Borland C++ compiler v5.5.1 32-bit
		Intel C++ compiler v12.1.7 ( u371 ) 32-bit
		MinGW C++ compiler v5.1.0 32-bit
		Watcom C++ compiler v2.0.0 32-bit

		&lt;STRONG&gt;// 64-bit C++ compilers&lt;/STRONG&gt;
		Microsoft C++ compiler ( VS2008 PE ) 64-bit
		Intel C++ compiler v13.1.0 ( u149 ) 64-bit
		MinGW C++ compiler v5.1.0 64-bit</description>
      <pubDate>Wed, 07 Sep 2016 22:56:08 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067070#M56693</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-09-07T22:56:08Z</dc:date>
    </item>
    <item>
      <title>[ Microsoft C++ compiler (</title>
      <link>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067071#M56694</link>
      <description>&lt;STRONG&gt;[ Microsoft C++ compiler ( VS2005 PE ) 32-bit - Debug Binary codes ]&lt;/STRONG&gt;

		...
		100143EE  rdtsc
		100143F0  mov         dword ptr [uiClock1], eax
		100143F3  mov         dword ptr [ebp-8], edx
		100143F6  mov         eax, dword ptr [iCount]
		100143F9  push        eax
		100143FA  mov         ecx, dword ptr [iValue]
		100143FD  push        ecx
		100143FE  mov         edx, dword ptr [pvDest]
		10014401  push        edx
		10014402  call        @ILT+400(_memset) (10011195h)
		10014407  add         esp, 0Ch
		1001440A  rdtsc
		...</description>
      <pubDate>Wed, 07 Sep 2016 22:56:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067071#M56694</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-09-07T22:56:45Z</dc:date>
    </item>
    <item>
      <title>[ Microsoft C++ compiler (</title>
      <link>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067072#M56695</link>
      <description>&lt;STRONG&gt;[ Microsoft C++ compiler ( VS2005 PE ) 32-bit - Release Binary codes ]&lt;/STRONG&gt;

		...
		00403583  rdtsc
		00403585  push        48h
		00403587  lea         ecx, [esp+4Ch]
		0040358B  push        0
		0040358D  mov         dword ptr [esp+20h], eax
		00403591  mov         dword ptr [esp+24h], edx
		00403595  push        ecx
		00403596  call        004066B0
		0040359B  rdtsc
		...</description>
      <pubDate>Wed, 07 Sep 2016 22:57:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067072#M56695</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-09-07T22:57:15Z</dc:date>
    </item>
    <item>
      <title>[ Borland C++ compiler v5.5.1</title>
      <link>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067073#M56696</link>
      <description>&lt;STRONG&gt;[ Borland C++ compiler v5.5.1 32-bit - Debug Binary codes ]&lt;/STRONG&gt;

		...
		00403D77  call        004047FC
		00403D7C  mov         dword ptr [ebp-8], eax
		00403D7F  mov         dword ptr [ebp-4], edx
		00403D82  push        dword ptr [ebp+10h]
		00403D85  push        dword ptr [ebp+0Ch]
		00403D88  push        dword ptr [ebp+8]
		00403D8B  call        00405AB4
		00403D90  add         esp, 0Ch
		00403D93  call        004047FC
		...</description>
      <pubDate>Wed, 07 Sep 2016 22:57:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067073#M56696</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-09-07T22:57:41Z</dc:date>
    </item>
    <item>
      <title>[ Borland C++ compiler v5.5.1</title>
      <link>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067074#M56697</link>
      <description>&lt;STRONG&gt;[ Borland C++ compiler v5.5.1 32-bit - Release Binary codes ]&lt;/STRONG&gt;

		...
		00402E9E  call        00404550
		00402EA3  mov         dword ptr [ebp-19Ch], eax
		00402EA9  mov         dword ptr [ebp-198h], edx
		00402EAF  push        48h
		00402EB1  push        0
		00402EB3  lea         eax, [ebp-2F4h]
		00402EB9  push        eax
		00402EBA  call        00405838
		00402EBF  add         esp, 0Ch
		00402EC2  call        00404550
		...</description>
      <pubDate>Wed, 07 Sep 2016 22:58:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067074#M56697</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-09-07T22:58:03Z</dc:date>
    </item>
    <item>
      <title>[ Intel C++ compiler v12.1.7</title>
      <link>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067075#M56698</link>
      <description>&lt;STRONG&gt;[ Intel C++ compiler v12.1.7 ( u371 ) 32-bit - Debug Binary codes ]&lt;/STRONG&gt;

		...
		00402438  rdtsc
		0040243A  mov         dword ptr [ebp-20h], eax
		0040243D  mov         dword ptr [ebp-1Ch], edx
		00402440  mov         byte ptr [ebp-2Ch], 1
		00402444  mov         eax, dword ptr [ebp-20h]
		00402447  mov         edx, dword ptr [ebp-1Ch]
		0040244A  mov         dword ptr [uiClock1], eax
		0040244D  mov         dword ptr [ebp-14h], edx
		00402450  add         esp, 0FFFFFFF4h
		00402453  mov         eax, dword ptr [pvDest]
		00402456  mov         dword ptr [esp], eax
		00402459  mov         eax, dword ptr [iValue]
		0040245C  mov         dword ptr [esp+4], eax
		00402460  mov         eax, dword ptr [iCount]
		00402463  mov         dword ptr [esp+8], eax
		00402467  call        memset (414770h)
		0040246C  add         esp, 0Ch
		0040246F  mov         dword ptr [ebp-28h], eax
		00402472  rdtsc
		...</description>
      <pubDate>Wed, 07 Sep 2016 22:58:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067075#M56698</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-09-07T22:58:30Z</dc:date>
    </item>
    <item>
      <title>[ Intel C++ compiler v12.1.7</title>
      <link>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067076#M56699</link>
      <description>&lt;STRONG&gt;[ Intel C++ compiler v12.1.7 ( u371 ) 32-bit - Release Binary codes ]&lt;/STRONG&gt;

		...
		00402DEE  rdtsc
		00402DF0  mov         dword ptr [ebp-208h], eax
		00402DF6  mov         dword ptr [ebp-204h], edx
		00402DFC  pxor        xmm0, xmm0
		00402E00  movaps      xmmword ptr [ebp-1F8h], xmm0
		00402E07  movaps      xmmword ptr [ebp-1E8h], xmm0
		00402E0E  movaps      xmmword ptr [ebp-1D8h], xmm0
		00402E15  movaps      xmmword ptr [ebp-1C8h], xmm0
		00402E1C  movq        mmword ptr [ebp-1B8h], xmm0
		00402E24  rdtsc
		...</description>
      <pubDate>Wed, 07 Sep 2016 22:58:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067076#M56699</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-09-07T22:58:52Z</dc:date>
    </item>
    <item>
      <title>[ MinGW C++ compiler v5.1.0</title>
      <link>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067077#M56700</link>
      <description>&lt;STRONG&gt;[ MinGW C++ compiler v5.1.0 32-bit - Debug Binary codes ]&lt;/STRONG&gt;

		...
		00406459  rdtsc
		0040645E  mov         dword ptr [ebp-10h], eax
		00406461  mov         dword ptr [ebp-0Ch], edx
		00406464  mov         eax, dword ptr [ebp+10h]
		00406467  mov         dword ptr [esp+8], eax
		0040646B  mov         eax, dword ptr [ebp+0Ch]
		0040646E  mov         dword ptr [esp+4], eax
		00406472  mov         eax, dword ptr [ebp+8]
		00406475  mov         dword ptr [esp], eax
		00406478  call        00406124
		0040647D  rdtsc
		...</description>
      <pubDate>Wed, 07 Sep 2016 22:59:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067077#M56700</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-09-07T22:59:14Z</dc:date>
    </item>
    <item>
      <title>[ MinGW C++ compiler v5.1.0</title>
      <link>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067078#M56701</link>
      <description>&lt;STRONG&gt;[ MinGW C++ compiler v5.1.0 32-bit - Release Binary codes ]&lt;/STRONG&gt;

		...
		00401F78  rdtsc
		00401F7A  mov         dword ptr [esp+100h], eax
		00401F81  mov         dword ptr [esp+104h], edx
		00401F88  mov         ebx, dword ptr [esp+100h]
		00401F8F  mov         edx, dword ptr [esp+104h]
		00401F96  mov         eax, dword ptr [esp+0F8h]
		00401F9D  mov         dword ptr [esp], 40B89Ch
		00401FA4  mov         ecx, dword ptr [esp+0FCh]
		00401FAB  sub         ebx, eax
		00401FAD  mov         dword ptr [esp+4], ebx
		00401FB1  call        004079DC
		00401FB6  rdtsc
		...</description>
      <pubDate>Wed, 07 Sep 2016 22:59:34 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067078#M56701</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-09-07T22:59:34Z</dc:date>
    </item>
    <item>
      <title>[ Watcom C++ compiler v2.0.0</title>
      <link>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067079#M56702</link>
      <description>&lt;STRONG&gt;[ Watcom C++ compiler v2.0.0 32-bit - Debug Binary codes ]&lt;/STRONG&gt;

		...
		0040560F  rdtsc
		00405611  mov         ecx, eax
		00405613  mov         eax, edx
		00405615  mov         dword ptr [ebp-110h], ecx
		0040561B  mov         dword ptr [ebp-10Ch], eax
		00405621  mov         ebx, dword ptr [ebp-108h]
		00405627  mov         edx, dword ptr [ebp-104h]
		0040562D  mov         eax, dword ptr [ebp-100h]
		00405633  call        0040A1A0
		00405638  rdtsc
		...</description>
      <pubDate>Wed, 07 Sep 2016 22:59:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067079#M56702</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-09-07T22:59:53Z</dc:date>
    </item>
    <item>
      <title>[ Watcom C++ compiler v2.0.0</title>
      <link>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067080#M56703</link>
      <description>&lt;STRONG&gt;[ Watcom C++ compiler v2.0.0 32-bit - Release Binary codes ]&lt;/STRONG&gt;

		...
		00402D13  rdtsc
		00402D15  mov         dword ptr [esp+1D0h], eax
		00402D1C  mov         dword ptr [esp+1D4h], edx
		00402D23  mov         ebx, 48h
		00402D28  mov         eax, esp
		00402D2A  xor         edx, edx
		00402D2C  call        00404D50
		00402D31  rdtsc
		...</description>
      <pubDate>Wed, 07 Sep 2016 23:00:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067080#M56703</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-09-07T23:00:12Z</dc:date>
    </item>
    <item>
      <title>[ Microsoft C++ compiler (</title>
      <link>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067081#M56704</link>
      <description>&lt;STRONG&gt;[ Microsoft C++ compiler ( VS2008 PE ) 64-bit - Debug Binary codes ]&lt;/STRONG&gt;

		...
		0000000180003F0C  rdtsc
		0000000180003F0E  shl         rdx, 20h
		0000000180003F12  or          rax, rdx
		0000000180003F15  mov         qword ptr [uiClock1], rax
		0000000180003F1A  mov         r8, qword ptr [iCount]
		0000000180003F1F  mov         edx, dword ptr [iValue]
		0000000180003F23  mov         rcx, qword ptr [pvDest]
		0000000180003F28  call        memset (18000B1A2h)
		0000000180003F2D  rdtsc
		...</description>
      <pubDate>Wed, 07 Sep 2016 23:00:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067081#M56704</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-09-07T23:00:31Z</dc:date>
    </item>
    <item>
      <title>[ Microsoft C++ compiler (</title>
      <link>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067082#M56705</link>
      <description>&lt;STRONG&gt;[ Microsoft C++ compiler ( VS2008 PE ) 64-bit - Release Binary codes ]&lt;/STRONG&gt;

		...
		0000000140003A8C  rdtsc
		0000000140003A8E  shl         rdx, 20h
		0000000140003A92  lea         rcx, [rbp+10h]
		0000000140003A96  or          rax, rdx
		0000000140003A99  xor         edx, edx
		0000000140003A9B  lea         r8d, [rdx+70h]
		0000000140003A9F  mov         qword ptr [rbp], rax
		0000000140003AA3  call        000000014000BBC0
		0000000140003AA8  rdtsc
		...</description>
      <pubDate>Wed, 07 Sep 2016 23:00:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067082#M56705</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-09-07T23:00:52Z</dc:date>
    </item>
    <item>
      <title>[ Intel C++ compiler v13.1.0</title>
      <link>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067083#M56706</link>
      <description>&lt;STRONG&gt;[ Intel C++ compiler v13.1.0 ( u149 ) 64-bit - Debug Binary codes ]&lt;/STRONG&gt;

		...
		000000013FBF291C  rdtsc
		000000013FBF291E  shl         rdx, 20h
		000000013FBF2922  or          rax, rdx
		000000013FBF2925  mov         qword ptr [rbp+8], rax
		000000013FBF2929  mov         byte ptr [rbp], 1
		000000013FBF292D  mov         rax, qword ptr [rbp+8]
		000000013FBF2931  mov         qword ptr [uiClock1], rax
		000000013FBF2935  mov         rax, qword ptr [pvDest]
		000000013FBF2939  mov         edx, dword ptr [iValue]
		000000013FBF293C  mov         rcx, qword ptr [iCount]
		000000013FBF2940  mov         qword ptr [rbp+40h], rcx
		000000013FBF2944  mov         rcx, rax
		000000013FBF2947  mov         rax, qword ptr [rbp+40h]
		000000013FBF294B  mov         r8, rax
		000000013FBF294E  call        memset (13FC08BE0h)
		000000013FBF2953  mov         qword ptr [rbp+18h], rax
		000000013FBF2957  rdtsc
		...</description>
      <pubDate>Wed, 07 Sep 2016 23:01:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067083#M56706</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-09-07T23:01:13Z</dc:date>
    </item>
    <item>
      <title>[ Intel C++ compiler v13.1.0</title>
      <link>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067084#M56707</link>
      <description>&lt;STRONG&gt;[ Intel C++ compiler v13.1.0 ( u149 ) 64-bit - Release Binary codes ]&lt;/STRONG&gt;

		...
		000000013F683552  rdtsc
		000000013F683554  shl         rdx, 20h
		000000013F683558  or          rax, rdx
		000000013F68355B  mov         qword ptr [rbp+1D0h], rax
		000000013F683562  vmovups     xmmword ptr [r13+10h], xmm6
		000000013F683568  vmovups     xmmword ptr [r13+20h], xmm6
		000000013F68356E  vmovups     xmmword ptr [r13+30h], xmm6
		000000013F683574  vmovups     xmmword ptr [r13+40h], xmm6
		000000013F68357A  vmovups     xmmword ptr [r13+50h], xmm6
		000000013F683580  vmovups     xmmword ptr [r13+60h], xmm6
		000000013F683586  vmovups     xmmword ptr [r13], xmm6
		000000013F68358C  rdtsc
		...</description>
      <pubDate>Wed, 07 Sep 2016 23:01:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067084#M56707</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-09-07T23:01:33Z</dc:date>
    </item>
    <item>
      <title>[ MinGW C++ compiler v5.1.0</title>
      <link>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067085#M56708</link>
      <description>&lt;STRONG&gt;[ MinGW C++ compiler v5.1.0 64-bit - Debug Binary codes ]&lt;/STRONG&gt;

		...
		000000000040728C  call        0000000000407260
		0000000000407291  mov         qword ptr [rbp-8], rax
		0000000000407295  mov         rdx, qword ptr [rbp+20h]
		0000000000407299  mov         eax, dword ptr [rbp+18h]
		000000000040729C  mov         r8, rdx
		000000000040729F  mov         edx, eax
		00000000004072A1  mov         rcx, qword ptr [rbp+10h]
		00000000004072A5  call        0000000000406DC8
		00000000004072AA  call        0000000000407260
		...</description>
      <pubDate>Wed, 07 Sep 2016 23:02:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067085#M56708</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-09-07T23:02:03Z</dc:date>
    </item>
    <item>
      <title>[ MinGW C++ compiler v5.1.0</title>
      <link>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067086#M56709</link>
      <description>&lt;STRONG&gt;[ MinGW C++ compiler v5.1.0 64-bit - Release Binary codes ]&lt;/STRONG&gt;

		...
		0000000000402DD6  rdtsc
		0000000000402DD8  shl         rdx, 20h
		0000000000402DDC  or          rax, rdx
		0000000000402DDF  mov         qword ptr [rbp+38h], rax
		0000000000402DE3  mov         rdx, qword ptr [rbp+38h]
		0000000000402DE7  mov         rcx, qword ptr [rbp+30h]
		0000000000402DEB  sub         edx, ecx
		0000000000402DED  lea         rcx, [40B938h]
		0000000000402DF4  call        0000000000407690
		0000000000402DFB  rdtsc            
		...</description>
      <pubDate>Wed, 07 Sep 2016 23:02:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067086#M56709</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-09-07T23:02:32Z</dc:date>
    </item>
    <item>
      <title>[ Performance Evaluation (</title>
      <link>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067087#M56710</link>
      <description>&lt;STRONG&gt;[ Performance Evaluation ( Debug ) - Summary - 32-bit Windows XP SP3 ]&lt;/STRONG&gt;

		&lt;STRONG&gt;Microsoft C++ compiler ( VS2005 PE ) 32-bit&lt;/STRONG&gt;

		...
		[ CrtMemset ] - Executed in 316 clock cycles
		[ CrtMemset ] - Executed in 424 clock cycles
		[ CrtMemset ] - Executed in 388 clock cycles
		[ CrtMemset ] - Executed in 344 clock cycles
		[ CrtMemset ] - Executed in 336 clock cycles
		[ CrtMemset ] - Executed in 336 clock cycles
		[ CrtMemset ] - Executed in 336 clock cycles
		[ CrtMemset ] - Executed in 372 clock cycles
		[ CrtMemset ] - Executed in 336 clock cycles
		[ CrtMemset ] - Executed in 332 clock cycles
		...

		&lt;STRONG&gt;Borland C++ compiler v5.5.1 32-bit&lt;/STRONG&gt;

		...
		[ CrtMemset ] - Executed in 536 clock cycles
		[ CrtMemset ] - Executed in 188 clock cycles
		[ CrtMemset ] - Executed in 184 clock cycles
		[ CrtMemset ] - Executed in 188 clock cycles
		[ CrtMemset ] - Executed in 188 clock cycles
		[ CrtMemset ] - Executed in 184 clock cycles
		[ CrtMemset ] - Executed in 188 clock cycles
		[ CrtMemset ] - Executed in 184 clock cycles
		[ CrtMemset ] - Executed in 184 clock cycles
		[ CrtMemset ] - Executed in 188 clock cycles
		...

		&lt;STRONG&gt;Intel C++ compiler v12.1.7 ( u371 ) 32-bit&lt;/STRONG&gt;

		...
		[ CrtMemset ] - Executed in 344 clock cycles
		[ CrtMemset ] - Executed in 296 clock cycles
		[ CrtMemset ] - Executed in 184 clock cycles
		[ CrtMemset ] - Executed in 180 clock cycles
		[ CrtMemset ] - Executed in 180 clock cycles
		[ CrtMemset ] - Executed in 184 clock cycles
		[ CrtMemset ] - Executed in 180 clock cycles
		[ CrtMemset ] - Executed in 184 clock cycles
		[ CrtMemset ] - Executed in 180 clock cycles
		[ CrtMemset ] - Executed in 172 clock cycles
		...

		&lt;STRONG&gt;MinGW C++ compiler v5.1.0 32-bit&lt;/STRONG&gt;

		...
		[ CrtMemset ] - Executed in 728 clock cycles
		[ CrtMemset ] - Executed in 412 clock cycles
		[ CrtMemset ] - Executed in 324 clock cycles
		[ CrtMemset ] - Executed in 320 clock cycles
		[ CrtMemset ] - Executed in 328 clock cycles
		[ CrtMemset ] - Executed in 320 clock cycles
		[ CrtMemset ] - Executed in 324 clock cycles
		[ CrtMemset ] - Executed in 324 clock cycles
		[ CrtMemset ] - Executed in 320 clock cycles
		[ CrtMemset ] - Executed in 328 clock cycles
		...

		&lt;STRONG&gt;Watcom C++ compiler v2.0.0 32-bit&lt;/STRONG&gt;

		...
		[ CrtMemset ] - Executed in 784 clock cycles
		[ CrtMemset ] - Executed in 268 clock cycles
		[ CrtMemset ] - Executed in 260 clock cycles
		[ CrtMemset ] - Executed in 264 clock cycles
		[ CrtMemset ] - Executed in 264 clock cycles
		[ CrtMemset ] - Executed in 464 clock cycles
		[ CrtMemset ] - Executed in 256 clock cycles
		[ CrtMemset ] - Executed in 264 clock cycles
		[ CrtMemset ] - Executed in 264 clock cycles
		[ CrtMemset ] - Executed in 260 clock cycles
		...</description>
      <pubDate>Wed, 07 Sep 2016 23:02:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067087#M56710</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-09-07T23:02:53Z</dc:date>
    </item>
  </channel>
</rss>

