------- Comment #5 from ubizjak at gmail dot com 2009-07-23 07:03 ------- (In reply to comment #4)
> > What happens if you use gas instead of Sun's assembler? > > $HOME/gnu-x86/local/bin/gfortran -c site.f90 -march=k8 -m32 -S > gas --32 site.s > site.s:652: Error: invalid character '.' in mnemonic > cmovl.ns %eax, %ebx > > $HOME/gnu-x86/local/bin/gfortran -c site.f90 -march=k8 -m64 -O1 -S > gas --64 site.s > site.s:136: Error: invalid character '.' in mnemonic > cmovq.e %rax, %r13 You can't do that. gcc detects assembler at configure time (sun as in your case) and generates code that is supported by configured asm. The code that confuses gas is in fact ffreep insn. Since your gas is detected as not supporting ffreep mnemonic directly, gcc generates it with .word 0xc0df. > Solaris s10u7 gas version is > GNU assembler version 2.15 (i386-pc-solaris2.10) using BFD version 2.15 So, what should we generate if .word is not supported? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40832