[llvm-dev] Shift operations for Backend target

Matt Arsenault via llvm-dev llvm-dev at lists.llvm.org
Wed Feb 26 19:24:54 PST 2020



> On Feb 26, 2020, at 21:57, Miguel Inigo J. Manalac via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> Hello LLVM-Dev,
>  
> I am currently implementing the shift operations for our backend and noticed that there are no shift right/left with carry in the LLVM Language Reference Manual. Is this because it is safe to assume that the shift with carry instructions are only carried out when a shift instruction is expanded? If that is not the case, are there other reasons why there is no IR instruction equivalent for shift with carry instructions?


The IR is intended to be a fairly minimal set of higher level operations which are easier for frontends and the optimizers to understand. Low level shift implementation details are only relevant in codegen. SelectionDAG defines SHL_PARTS/SRA_PARTS/SRL_PARTS to help with target shift legalization 

-Matt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200226/50fb3eb5/attachment.html>


More information about the llvm-dev mailing list