[llvm-dev] Generate Register Indirect mode instruction
Friedman, Eli via llvm-dev
llvm-dev at lists.llvm.org
Wed Oct 12 15:45:16 PDT 2016
On 10/12/2016 3:15 PM, Alex Bradley wrote:
>
> Yes the result goes into memory. But the *address* of that destination
> memory location also needs to be loaded first into a register.
>
Your architecture has a single instruction for the following operation?
define void @foo(i32 **%a, i32**%b) {
entry:
%l1 = load i32*, i32** %a, align 4
%l2 = load i32, i32* %l1, align 4
%l3 = load i32*, i32** %b, align 4
%l4 = load i32, i32* %l3, align 4
%add = add i32 %l2, %l4
store i32 %add, i32* %l1, align 4
ret void
}
In theory, it should be possible to match this, at least using C++
code. There isn't any other architecture like that in LLVM, though, so
I'm not sure how that would work out in practice.
-Eli
--
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161012/f5af4513/attachment.html>
More information about the llvm-dev
mailing list