On Tue, Mar 6, 2012 at 1:37 AM, Uros Bizjak <ubiz...@gmail.com> wrote: > On Mon, Mar 5, 2012 at 11:42 PM, H.J. Lu <hjl.to...@gmail.com> wrote: >>>>> + case '^': >>>>> + if (TARGET_64BIT && Pmode == SImode) >>>>> + { >>>>> + fputs ("addr32", file); >>>>> +#ifndef HAVE_AS_IX86_REP_LOCK_PREFIX >>>>> + if (ASSEMBLER_DIALECT == ASM_ATT) >>>>> + fputs ("addr32; ", file); >>>>> + else >>>>> +#endif >>>>> + fputs ("addr32 ", file); >>>>> + } >>>> >>>> Why do you print addr32 twice? "addr32addr32; " or "addr32addr32 ". >>> >>> Oops, please remove the first one. >>> >> >> It looks OK to me. I will test after I fix indirect jmp/call. > > FYI, addr32 prefix can't stand alone (but "addr32 rep; insn" is OK), > so #ifndefed part is bogus. >
I changed it to + case '^': + if (TARGET_64BIT && Pmode == SImode) + fputs ("addr32 ", file); + return; and it seems to work. Thanks. -- H.J.