[pulseaudio-discuss] svolume_mmx fails to build on OS X

Tanu Kaskinen tanuk at iki.fi
Tue Oct 23 03:13:35 PDT 2012


Hi,

A bug[1] was filed about a build failure on OS X. Both Clang and GCC
give similar errors for the assembly code in svolume_mmx.c. Since
bugzilla probably isn't followed actively by many people, and since I'm
pretty clueless about this assembly stuff, I decided to raise the issue
here on the mailing list, where there may be more people with more clue.

Here are the errors from Clang:

CC       libpulsecore_2.98_la-svolume_mmx.lo
pulsecore/svolume_mmx.c:108:43: error: register %rcx is only available in 64-bit mode
        " je 2f                         \n\t"
                                          ^
<inline asm>:5:9: note: instantiated into assembly here
         movd (%rcx, %edi, 4), %mm0      
               ^~~~
pulsecore/svolume_mmx.c:124:43: error: register %rcx is only available in 64-bit mode
        "3:                             \n\t" /* do samples in groups of 2 */
                                          ^
<inline asm>:33:9: note: instantiated into assembly here
         movq (%rcx, %edi, 4), %mm0      
               ^~~~
pulsecore/svolume_mmx.c:137:43: error: register %rcx is only available in 64-bit mode
        "5:                             \n\t" /* do samples in groups of 4 */
                                          ^
<inline asm>:59:9: note: instantiated into assembly here
         movq (%rcx, %edi, 4), %mm0      
               ^~~~
pulsecore/svolume_mmx.c:138:43: error: register %rcx is only available in 64-bit mode
        " movq (%q1, %3, 4), %%mm0      \n\t" /* |  v1h  |  v1l  |  v0h  |  v0l  | */
                                          ^
<inline asm>:60:10: note: instantiated into assembly here
         movq 8(%rcx, %edi, 4), %mm2     
                ^~~~
pulsecore/svolume_mmx.c:181:43: error: register %rcx is only available in 64-bit mode
        " je 2f                         \n\t"
                                          ^
<inline asm>:9:9: note: instantiated into assembly here
         movd (%rcx, %edi, 4), %mm0      
               ^~~~
pulsecore/svolume_mmx.c:199:43: error: register %rcx is only available in 64-bit mode
        "3:                             \n\t" /* do samples in groups of 2 */
                                          ^
<inline asm>:39:9: note: instantiated into assembly here
         movq (%rcx, %edi, 4), %mm0      
               ^~~~
pulsecore/svolume_mmx.c:214:43: error: register %rcx is only available in 64-bit mode
        "5:                             \n\t" /* do samples in groups of 4 */
                                          ^
<inline asm>:73:9: note: instantiated into assembly here
         movq (%rcx, %edi, 4), %mm0      
               ^~~~
pulsecore/svolume_mmx.c:215:43: error: register %rcx is only available in 64-bit mode
        " movq (%q1, %3, 4), %%mm0      \n\t" /* |  v1h  |  v1l  |  v0h  |  v0l  | */
                                          ^
<inline asm>:74:10: note: instantiated into assembly here
         movq 8(%rcx, %edi, 4), %mm2     
                ^~~~
8 errors generated.
make[3]: *** [libpulsecore_2.98_la-svolume_mmx.lo] Error 1
make[2]: *** [install] Error 2
make[1]: *** [install-recursive] Error 1
make: *** [install] Error 2

[1] https://bugs.freedesktop.org/show_bug.cgi?id=55733

-- 
Tanu



More information about the pulseaudio-discuss mailing list