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"