Re: gcc porting - machine description for realizing multiplication with a routine call

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

 



On Thu, Feb 7, 2013 at 11:07 AM, Diego Bernini <diego.bernini@xxxxxxxxx> wrote:

> if I not provide any MD statement for multiplication, GCC generates a
>
> call __mulqi3
>
> So I can think to provide an assembly routine "__mulqi3".

That is certainly the easiest approach.

> But the problem (from my understanding) is how to ensure to save and
> restore properly the registers which are used internally by the
> routine, and to manage the input and output register sof the routine
> properly too.

The __mulqi3 function will be called like any function.  It can access
its parameters and save registers like any function.

> I can't find any advice on the web on how to easily implement
> multiplication when no a "mul" instruction is provided by the target
> architecture ISA. Surely a proper assembly routine must be provided,
> but I miss how to "link" it properly.

Example: libgcc/config/m68k/lb1sf68.S.  It will be used because
libgcc/config/m68k/t-floatlib sets LIB1ASMSRC.  And libgcc/config.host
adds t-floatlib to tmake_file for appropriate targets.

Ian


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux