<div dir="ltr"><div>For the front-end (clang) you'll need:</div><div><br></div><div>clang/lib/CodeGen/CGbuiltin.cpp - handle case of new builtin intrinsic (EmitXXXSpecificBuiltinExpr)</div><div>clang/lib/CodeGen/CodeGenFunction.cpp - define llvm::Instrinsic::ID</div><div>clang/lib/CodeGen/CodeGenFunction.h - declare llvm::Intrinsic::ID </div><div>clang/lib/Sema/SemaChecking.cpp - for semantic checking of your intrinsic if overloaded, for example, you might not need this step</div><div>clang/include/clang/Basic/BuiltinsXXX.def </div><div><br></div><div>For backend:</div><div><br></div><div>include/llvm/IR/IntrinsicsXXX.td - this is the file we use to def our XXX intrinsics, just for example, you should have a file here like this, you'll notice one for every 'in tree' arch</div><div>lib/Target/XXX/XXXIntrinsics.td - you don't need this file, you just need this intrinsic mapping somewhere in the table gen (we have tons of these so it's nice organization for us), looks like you've already done this step</div><div><br></div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jun 19, 2017 at 10:15 AM, Sayantan Majumdar 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"><div dir="ltr">Hello all. I am new to LLVM. I have added a custom intrinsic <i>foo</i> by creating a new folder in <i>lib/Target/Foo</i> and creating a new file <i>Foo.td</i>. I then built the entire llvm project and the intrinsic <i>foo</i> has been added successfully. But I am unable to figure out how to add the pseudo instruction for it. For example if I want my intrinsic foo to perform multiplication of two integers, where should I add this instruction? I have googled a lot and couldn't find anything concrete. </div><span class="HOEnZb"><font color="#888888"><div dir="ltr">-- <br></div><div data-smartmail="gmail_signature"><div dir="ltr"><p dir="ltr">Sayantan Majumdar<br>
Research Intern at RISE Lab,<br>Indian Institute of Technology Madras, Chennai</p>
</div></div>
</font></span><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" target="_blank" rel="noreferrer">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
<br></blockquote></div><br></div>