http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55953



--- Comment #2 from Evgeniy Dushistov <dushistov at mail dot ru> 2013-01-12 
00:05:15 UTC ---

Actually it is not only CPU 64bit related issue, for example the same CPU (i7),

32 bit mode:



variant one:

push   %ebp

vmovdqa 0x80488e0,%ymm0

mov    %esp,%ebp

pop    %ebp

movb   $0x30,0x804a0a0

vmovdqa %ymm0,0x804a040

vmovdqa %ymm0,0x804a060

vmovdqa %ymm0,0x804a080

movb   $0x30,0x804a0a1

movb   $0x30,0x804a0a2

movb   $0x30,0x804a0a3

vzeroupper 

ret    



variant two:

mov    $0x804a040,%edx

push   %edi

mov    $0x30303030,%eax

mov    %edx,%edi

mov    $0x19,%ecx

rep stos %eax,%es:(%edi)

pop    %edi

ret    



The variant one win.

Reply via email to