Efficient emulation of arithmetic operations

Hello.
     I would like to advertise a very interesting LLVM related project I worked on in the last 1.5 years.

     It is about the efficient emulation of arithmetic operations by "inlining" the emulation routines (written manually) by using the LLVM Instruction selection pass.
     This is something that is useful as methodology for other LLVM back ends for architectures that require emulation. The technical report at https://sites.google.com/site/alexsusu/myfilecabinet/OpincaaLLVM_TR_UPB.pdf describes this very interesting method in Section 7 - specifically Algorithm 7.1 could be used by other LLVM developers to implement it for other back ends also.
     (There are also some slides available describing specifically this work: https://sites.google.com/site/alexsusu/myfilecabinet/CGO2019_LLVM_Performance_Workshop-Arithmetic_emulation_slides.pdf ) .

     Please ask questions and provide feedback if this is of interest to you.

   Thank you,
     Alex

Hello.
     I would like to add that the work on arithmetic emulation was described also in a WPMVP 2019 paper (satellite of PPoPP) - you can find it here: https://dl.acm.org/citation.cfm?id=3306166 . Please ask questions and provide feedback if this is of interest to you.
     Again, I consider this to be a very interesting contribution for the LLVM back end, theoretical, but also as a proposed methodology in the aforementioned papers .

   Best regards,
     Alex

Hello.
     I would like to come back to this older thread.

     I would like to advertise a very interesting LLVM related project I worked on in the last years.

     It is about the efficient emulation of arithmetic operations by "inlining" the
  emulation routines, which are written manually, by using the LLVM Instruction selection pass.
     This is something that is useful as a methodology for other LLVM back ends for architectures that require emulation. My PhD thesis at https://sites.google.com/site/alexsusu/myfilecabinet/PhDThesis_AlexSusu.pdf describes this very interesting method in Section 4.3.7: specifically Algorithm 1 could be used by other LLVM developers to implement it for other processor back ends also.

     I would like to add that the work on arithmetic emulation was described also in:
       - a TECS 2020 paper, which can be found at the following address: https://dl.acm.org/doi/10.1145/3406536 - see Section 6.2
       - a WPMVP 2019 paper (satellite of PPoPP) - you can find it here: https://dl.acm.org/citation.cfm?id=3306166 .
       - also in some slides available:
https://sites.google.com/site/alexsusu/myfilecabinet/CGO2019_LLVM_Performance_Workshop-Arithmetic_emulation_slides.pdf .

     Please ask questions and provide feedback if this is of interest to you.

    Thank you,
      Alex