Bug#212902: gcc-3.3: gcc generates illegal intermediate assembly file: invalid character '=' in operand 1
Alex Tsariounov <alext@fc.hp.com> writes:
> When compiling the attached code on i386, the compilers seems to
> generate an illegal intermediate assembly file that fails to assemble
> with following messages:
>
> [type2:lttk]$ gcc -o syscall_time syscall_time.c
> /tmp/cc3VnwUh.s: Assembler messages:
> /tmp/cc3VnwUh.s:118: Error: invalid character '=' in operand 1
Well, that's because you provide this asm:
> #define mTICKNOW(T) __asm__ __volatile__("mov %0=ar.itc" : "=r"(T) :: "memory");
and gcc happily inserts %eax for %0, leading to the invalid assembly
mov %eax=ar.itc
Could you elaborate on why you think this is a bug in gcc?
--
Falk
Reply to: