Florent DEFAY <spira.inhabitant@xxxxxxxxx> writes: > I am working on a new port. I have just compiled libgcc. > The target is a 16-bit machine and I realize that libgcc contains > functions for SI but not for DI. > > As the machine is 16-bit and HI instructions are all implemented in > the machine descripton, I supposed > that libgcc would build SI instructions using HI ones and DI > instructions the same way. > > More over, extend and zero_extend patterns are implemented in all modes. > > Why are DI instructions not built in libgcc? > Is there a solution to get it done? > If not, what could/should I do ? If you have already set LIB2_SIDITI_CONV_FUNCS=yes in your t-XXX file, then you may need to do the rest manually. Basically you want to define LIBGCC2_UNITS_PER_WORD differently while compiling libgcc2 multiple times. That may require hacking libgcc/Makefile.in; I don't know if there is any current support for it. Ian