<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 10/12/2016 3:15 PM, Alex Bradley
wrote:<br>
</div>
<blockquote
cite="mid:CACMubX2MOVhnOmhgz19WV4xphijhTEudFN6tm8+nWz2dUUosrQ@mail.gmail.com"
type="cite">
<p dir="ltr">Yes the result goes into memory. But the <b>address</b>
of that destination memory location also needs to be loaded
first into a register. </p>
</blockquote>
<br>
Your architecture has a single instruction for the following
operation?<br>
<br>
define void @foo(i32 **%a, i32**%b) {<br>
entry:<br>
%l1 = load i32*, i32** %a, align 4<br>
%l2 = load i32, i32* %l1, align 4<br>
%l3 = load i32*, i32** %b, align 4<br>
%l4 = load i32, i32* %l3, align 4<br>
%add = add i32 %l2, %l4<br>
store i32 %add, i32* %l1, align 4<br>
ret void<br>
}<br>
<br>
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.<br>
<br>
-Eli<br>
<br>
<pre class="moz-signature" cols="72">--
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project</pre>
</body>
</html>