gcc 3.4.4 assembly problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,
I'm running into a problem with GCC 3.4.4 when building mplayer.
Test case and assembly is attached. Can others confirm this behaviour?
Any other workaround than inlining the second constraint?

The difference with GCC 3.4.3 is that it doesn't put the memory operator
into a register, which is perfectly fine.

Joerg

Using built-in specs.
Configured with: ./configure --prefix=/usr --host=i386-just-dragonflybsd
Thread model: posix
gcc version 3.4.4 [DragonFly] (propolice, visibility)

extern float mp3lib_decwin[];

void make_decode_tables_MMX(long scaleval)
{
    __asm __volatile(
	"fsts  %0(,%%ecx,4)\n\t"
	::"m"(mp3lib_decwin[0]),"m"(scaleval));
}
	.file	"tabinit_MMX.c"
	.text
	.p2align 2,,3
.globl make_decode_tables_MMX
	.type	make_decode_tables_MMX, @function
make_decode_tables_MMX:
	movl	4(%esp), %edx
	movl	%edx, 4(%esp)
	movl	$mp3lib_decwin, %eax
#APP
	fsts  (%eax)(,%ecx,4)
	
#NO_APP
	ret
	.size	make_decode_tables_MMX, .-make_decode_tables_MMX
	.ident	"GCC: (GNU) 3.4.4"

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux