[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: