<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>