<div dir="ltr">Hi Aleksey,<div><br></div><div>Rotations are not first-level constructs in the IR, but they can be expressed as a combination of shifts, ands and ors.</div><div><br></div><div>The general principle in LLVM is to have a simple basic set of instructions that can be combined to produce higher level functions; in the case of rotate, there are several places in LLVM that detect rotation idioms and optimize them, and they will be selected correctly in the backend to optimized instructions if they are available in the target architecture.</div><div><br></div><div>Cheers,</div><div><br></div><div>James</div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, 19 Nov 2015 at 09:13 Aliaksei Zasenka via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div>Hi all,<br><br></div>Is it planned to add support of rotations to IR?<br><br><br></div>Thanks,<br></div>Aleksey Zasenko<br></div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>