This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: question on mips embedded asm instructions


"Amker.Cheng" <amker.cheng@gmail.com> writes:

> On mips target, mult insns normally modify and refer to hi/lo regs.
> Giving following two embedded asm insns:
>
> 1  __asm__ ("mult %0, $1" : : "r"(a), "r"(b) : "lo");
> 2  __asm__ ("mflo %0" : "=r"(c) );
>
> the mult modify specific hard reg lo, and I can describe this by "lo"
> after the third colon.
> But what about the mflo? how could I describe that the insn will refer
> to the "lo" reg?

I don't think there is a way to do that.  Fortunately, you don't need to
write mflo as an asm.  Instead, give your mult instruction an output
with register class "l".  When you copy that value somewhere, gcc should
generate the mflo for you.

Ian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]