<div dir="ltr">The fact that the intrinsic takes an immediate is usually encoded as part of the isel pattern selection<div><br></div><div>For example from an x86 intrinsic/instruction:</div><div><br></div><div><div>def INT : Ii8<0xcd, RawFrm, (outs), (ins u8imm:$trap), "int\t$trap",</div><div>              [(int_x86_int imm:$trap)], IIC_INT>;</div></div><div><br></div><div>I'm slightly confused by your question though as you mention register which sort of implies you're looking at PowerPC assembly. But you also mention a function, but the intrinsic should have been turned into instructions before assembly and there should be no function call.</div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature">~Craig</div></div>
<br><div class="gmail_quote">On Sun, Dec 17, 2017 at 8:26 PM, Justin Hibbits via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I'm trying to add intrinsics for the Signal Processing Engine<br>
(FPU/vector unit) on some PowerPC cores, but running into a problem.<br>
Some of the instructions take an immediate operand, but I can't figure<br>
out how to make the intrinsic use an immediate, it just wants to load<br>
a register as an argument to the function.  Is there any way in the<br>
.td file to describe the intrinsic as taking an immediate, or do I<br>
need to generate an intermediate instruction identifier?<br>
<br>
Thanks,<br>
Justin<br>
______________________________<wbr>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org">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/<wbr>mailman/listinfo/llvm-dev</a><br>
</blockquote></div><br></div>