GNU/Linux ABI documentation ? GCC supports SSSE3 in general purpose code generation ?
Jan Hubicka
hubicka@ucw.cz
Mon Jul 12 12:12:00 GMT 2010
>
> Is there a document or standard (or group of standards) that define the
> collective ABIs of GNU/Linux systems using ELF binary formats of various
> CPU architectures, including at least:
> IA32 (i386/i686/AMD64/EMT64/etc...)
> ARM (v5, v5t, v7, etc...)
x86_64 ABI is at www.x86-64.org/documentation/abi.pdf
You can find similar processor supplements for other architectures.
> My concern comes from what looks to be non-backwards compatible changes
> being made by the MeeGo distribution of Linux. Specifically the
> enablement of SSSE3 IA32 instructions for "general purpose code
> generation", one possible motive for this is that a particular hardware
GCC has -march switch specifying what ISA you want to generate for.
By default, GCC won't use SSSE3 or other extensions on i386 nor x86_64
target, but distribution, at its own choice, might change the default.
When configured to use extended ISA, GCC is trying to autogenerate new instructions
in generic code. It naturally depends on type of instructions: many of new SSE
instructions are very exotic and not fitting generic codegen and are available
only via special builtins.
Honza
More information about the Gcc
mailing list