[FFmpeg-devel] [FFmpeg-cvslog] r12171 - trunk/doc/optimization.txt

Reimar Döffinger Reimar.Doeffinger
Thu Feb 21 21:10:56 CET 2008


On Thu, Feb 21, 2008 at 09:51:53PM +0200, ?smail D?nmez wrote:
> >  Not asm, but maybe someone is motivated to test this with a up-to-date
> >  gcc on some 32 bit system:
> >  > #include <inttypes.h>
> >  > uint64_t a;
> >  > uint16_t b;
> >  > uint64_t mul(void) {
> >  >   return a * b;
> >  > }
> 
> 
> gcc 4.4 trunk produces :
> 
> 	movq	_b at GOTPCREL(%rip), %rax
> 	movzwl	(%rax), %eax
> 	movzwl	%ax, %edx
> 	movq	_a at GOTPCREL(%rip), %rax
> 	movq	(%rax), %rax
> 	imulq	%rdx, %rax
> 	leave
> 	ret

I am fairly certain that not even gcc < 3 managed to get that wrong on a
_64-bit_ system...




More information about the ffmpeg-devel mailing list