<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    This probably needs broader discussion.  We have an existing naming
    mechanism for polymorphic intrinsics; Elena is proposing a new one
    to avoid making the names for various load/store intrinsics
    particularly ugly.  <br>
    <br>
    My personal take:<br>
    1) I like the cleaner naming scheme.<br>
    2) I'm not sure the additional complexity is worth it.  (Not
    specific to the particular implementation proposed here.)<br>
    3) I have no strong preference other than that the @llvm.masked_load
    (and friends) intrinsics support alternate address spaces in some
    form in the near future.<br>
    <br>
    What do others think?<br>
    <br>
    Philip<br>
    <div class="moz-forward-container"><br>
      <br>
      -------- Forwarded Message --------
      <table class="moz-email-headers-table" border="0" cellpadding="0"
        cellspacing="0">
        <tbody>
          <tr>
            <th valign="BASELINE" nowrap="nowrap" align="RIGHT">Subject:
            </th>
            <td>[PATCH] D17497: Support arbitrary address space for
              intrinsics</td>
          </tr>
          <tr>
            <th valign="BASELINE" nowrap="nowrap" align="RIGHT">Date: </th>
            <td>Mon, 22 Feb 2016 08:39:38 +0000</td>
          </tr>
          <tr>
            <th valign="BASELINE" nowrap="nowrap" align="RIGHT">From: </th>
            <td>Elena Demikhovsky <a class="moz-txt-link-rfc2396E" href="mailto:elena.demikhovsky@intel.com"><elena.demikhovsky@intel.com></a></td>
          </tr>
          <tr>
            <th valign="BASELINE" nowrap="nowrap" align="RIGHT">Reply-To:
            </th>
            <td><a class="moz-txt-link-abbreviated" href="mailto:reviews+D17497+public+90f3d1b9468ba8ca@reviews.llvm.org">reviews+D17497+public+90f3d1b9468ba8ca@reviews.llvm.org</a></td>
          </tr>
          <tr>
            <th valign="BASELINE" nowrap="nowrap" align="RIGHT">To: </th>
            <td><a class="moz-txt-link-abbreviated" href="mailto:elena.demikhovsky@intel.com">elena.demikhovsky@intel.com</a>, <a class="moz-txt-link-abbreviated" href="mailto:apilipenko@azulsystems.com">apilipenko@azulsystems.com</a>,
              <a class="moz-txt-link-abbreviated" href="mailto:listmail@philipreames.com">listmail@philipreames.com</a>, <a class="moz-txt-link-abbreviated" href="mailto:ayal.zaks@intel.com">ayal.zaks@intel.com</a>,
              <a class="moz-txt-link-abbreviated" href="mailto:Matthew.Arsenault@amd.com">Matthew.Arsenault@amd.com</a>, <a class="moz-txt-link-abbreviated" href="mailto:pjcoup@gmail.com">pjcoup@gmail.com</a></td>
          </tr>
          <tr>
            <th valign="BASELINE" nowrap="nowrap" align="RIGHT">CC: </th>
            <td><a class="moz-txt-link-abbreviated" href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a></td>
          </tr>
        </tbody>
      </table>
      <br>
      <br>
      <pre>delena created this revision.
delena added reviewers: apilipenko, reames, Ayal, arsenm, pjcoup.
delena added a subscriber: llvm-commits.
delena set the repository for this revision to rL LLVM.

This is an alternative proposal for supporting address space in intrinsics. It's applicable for any intrinsic, not only masked-load-store.
Related to <a class="moz-txt-link-freetext" href="http://reviews.llvm.org/D17270">http://reviews.llvm.org/D17270</a>

I this proposal I add non-zero address space suffix to intrinsic name. The original name looks like
@llvm.xxx.xxx
The same name with address space 1 :
@llvm.xxx.xxx.a_1

(I did not update documentation. I'll do this if the proposed change looks reasonable for reviewers ).

Repository:
  rL LLVM

<a class="moz-txt-link-freetext" href="http://reviews.llvm.org/D17497">http://reviews.llvm.org/D17497</a>

Files:
  ../include/llvm/IR/IRBuilder.h
  ../include/llvm/IR/Intrinsics.h
  ../lib/IR/Function.cpp
  ../lib/IR/IRBuilder.cpp
  ../lib/IR/Verifier.cpp
  ../test/Transforms/LoopVectorize/X86/gather_scatter.ll


</pre>
      <br>
    </div>
    <br>
  </body>
</html>