From: Earnie <ea...@us...> - 2011-12-01 13:18:02
|
Fabian Greffrath wrote: > Am 01.12.2011 09:20, schrieb Tor Lillqvist: >> Yes and no. The fact that gcc produces assembler source code output >> that needs to be compiled by a separate assembler pass is not that >> relevant here. Even if gcc produced object code directly, of course an >> -march switch would be needed, in the cases where gcc is configured to >> target a family of several slightly different instruction sets. > > Yes, but if your code is already in assembler you actually tell the > CPU exactly which instructions to perform. There is no way for the > compiler to chose e.g. using cmov if you enable it via -march flag. I'm asking because of something like the following code. If you ``gcc -march=i386'' it will compile into an object. If you ``gcc -march=i386 -Wa,-march=i386'' it will abort and not create the object. My question is still needing answered, is ``gcc -march=i386'' supposed to propagate to the assembler compile phase? void foo (void) { __asm__ ( "fninit" ) ;} -- Earnie -- https://sites.google.com/site/earnieboyd/ |