[llvm-dev] Struggling to define a simple instruction
Rail Shafigulin via llvm-dev
llvm-dev at lists.llvm.org
Mon May 16 14:56:25 PDT 2016
I'm trying to figure out how I can define and make LLVM target a simple
instruction.
The instruction is very simple, it adds all of the elements of the vector
register. Lets' call it sum_reduce.
Defining a vector add was simple. All I had to do is to simply change the
register type used by a regular add instruction and that was it. However
I'm really struggling to define this new instruction.
Initially I thought that I would replace a chain of 3 adds with
insert_element instructions, but that defeats the purpose of sum_reduce,
since it would mean that I have to insert operators 4 times into a vector
register and then add everything. This turns it into more instructions than
the original chain of 3 adds.
I've also looked at X86 HADD instructions but also have difficulty
understanding how to implement something similar to it in my target.
,
I've annoyed enough people on the LLVM IRC channel. And they have been
really helpful, unfortunately I feel that if I ask more they'll stop
answering completely :D
At this point I wouldn't mind some handholding. I can provide more code if
needed
Any help on the issue is really appreciated.
--
Rail Shafigulin
Software Engineer
Esencia Technologies
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160516/a5930ddf/attachment.html>
More information about the llvm-dev
mailing list