[pulseaudio-discuss] [PATCH] svolume_{mmx, sse}, sconv_sse: Fix compilation errors with X32 toolchain

Arun Raghavan arun.raghavan at collabora.co.uk
Mon Dec 12 20:39:39 PST 2011


On Sat, 2011-12-10 at 10:03 +0100, Paul Menzel wrote:
> From d8b81d5393df36085009bf9f69d41fa85e2ae58a Mon Sep 17 00:00:00 2001
> From: Nitin A Kamble <nitin.a.kamble at intel.com>
> Date: Sat, 10 Dec 2011 09:09:06 +0100
> 
> Make assembly syntax compatible to the X32 toolchain and fix the
> following kind of compilations errors with X32 gcc.
> 
> | pulsecore/svolume_mmx.c: Assembler messages:
> | pulsecore/svolume_mmx.c:107: Error: `(%esi,%rdi,4)' is not a valid base/index expression
> | pulsecore/svolume_mmx.c:135: Error: `(%esi,%rdi,4)' is not a valid base/index expression
> | pulsecore/svolume_mmx.c:161: Error: `(%esi,%rdi,4)' is not a valid base/index expression
> | pulsecore/svolume_mmx.c:162: Error: `8(%esi,%rdi,4)' is not a valid base/index expression
> | pulsecore/svolume_mmx.c:180: Error: `(%esi,%rdi,4)' is not a valid base/index expression
> | pulsecore/svolume_mmx.c:210: Error: `(%esi,%rdi,4)' is not a valid base/index expression
> | pulsecore/svolume_mmx.c:244: Error: `(%esi,%rdi,4)' is not a valid base/index expression
> | pulsecore/svolume_mmx.c:245: Error: `8(%esi,%rdi,4)' is not a valid base/index expression
> | make[3]: *** [libpulsecore_1.1_la-svolume_mmx.lo] Error 1
> 
> Originally these assembly lines were written for x86_64 ABI, now they
> are also compatible with X32 ABI [3][4].
> 
> The patch was submitted to the OpenEmbedded-Core list [1][2].
> 
> [1] http://lists.linuxtogo.org/pipermail/openembedded-core/2011-December/014189.html
> [2] http://git.yoctoproject.org/cgit.cgi/poky-contrib/commit/?h=nitin/x32&id=2d8eec54f755c51f2eff600390f5a4b3cc2a7662
> [3] https://wiki.yoctoproject.org/wiki/X32_abi
> [4] http://en.wikipedia.org/wiki/X32_ABI
> ---
> Please keep Nitin in CC when replying.
> ---

I might be missing something, but I've not been able to find any
documentation for this syntax (gcc.org docs still show the %<number>
use). Could you point me to some documentation?

Also, does this require some version of gcc to work? Not a deal-breaker
for me (but might be for others) -- does this work with clang too?

Cheers,
Arun



More information about the pulseaudio-discuss mailing list