<?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 - Intel C++ in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/Fastest-version-of-a-CRT-function-memset/m-p/1067114#M56737</link>
    <description>&lt;STRONG&gt;Binary codes - Intel C++ compiler v12.1.7 ( u371 ) 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!

		...
		00401B0F  rdtsc
		00401B11  mov         dword ptr [ebp-170h], eax
		00401B17  lea         ecx, [ebp-1C8h]
		00401B1D  mov         dword ptr [ebp-16Ch], edx
		00401B23  mov         dword ptr [ebp-0A0h], ecx
		00401B29  mov         dword ptr [ebp-9Ch], 40h
		00401B33  mov         esi, dword ptr [ebp-0A0h]
		00401B39  mov         ecx, dword ptr [ebp-9Ch]
		00401B3F  shr         ecx, 6
		00401B42  test        ecx, ecx
		00401B44  je          00401B64
		00401B46  prefetcht0  [esi]
		00401B49  xorpd       xmm0, xmm0
		00401B4D  &lt;STRONG&gt;movntps&lt;/STRONG&gt;     xmmword ptr [esi], xmm0
		00401B50  &lt;STRONG&gt;movntps&lt;/STRONG&gt;     xmmword ptr [esi+10h], xmm0
		00401B54  &lt;STRONG&gt;movntps&lt;/STRONG&gt;     xmmword ptr [esi+20h], xmm0
		00401B58  &lt;STRONG&gt;movntps&lt;/STRONG&gt;     xmmword ptr [esi+30h], xmm0
		00401B5C  add         esi, 40h
		00401B5F  sub         ecx, 1
		00401B62  jmp         00401B42
		00401B64  sfence
		00401B67  mov         edx, dword ptr [ebp-9Ch]
		00401B6D  cmp         edx, 48h
		00401B70  jge         00401BC6
		00401B72  mov         ecx, edx
		00401B74  neg         ecx
		00401B76  add         ecx, 48h
		00401B79  mov         esi, ecx
		00401B7B  shr         esi, 1Fh
		00401B7E  add         esi, ecx
		00401B80  sar         esi, 1
		00401B82  mov         eax, dword ptr [ebp-0A0h]
		00401B88  test        esi, esi
		00401B8A  mov         dword ptr [ebp-234h], ecx
		00401B90  mov         dword ptr [ebp-230h], esi
		00401B96  jbe         00402E4B
		00401B9C  xor         edi, edi
		00401B9E  lea         esi, [edx+eax]
		00401BA1  xor         ecx, ecx
		00401BA3  mov         byte ptr [esi+edi*2], cl
		00401BA6  mov         byte ptr [esi+edi*2+1], cl
		00401BAA  inc         edi
		00401BAB  cmp         edi, dword ptr [ebp-230h]
		00401BB1  jb          00401BA1
		00401BB3  lea         ecx, [edi+edi+1]
		00401BB7  cmp         ecx, dword ptr [ebp-234h]
		00401BBD  ja          00401BC6
		00401BBF  add         edx, eax
		00401BC1  mov         byte ptr [ecx+edx-1], 0
		00401BC6  rdtsc
		...</description>
    <pubDate>Sat, 10 Sep 2016 17:55:54 GMT</pubDate>
    <dc:creator>SergeyKostrov</dc:creator>
    <dc:date>2016-09-10T17:55:54Z</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>

