<div dir="ltr">On Wed, Sep 4, 2013 at 1:37 PM, Matt Arsenault <span dir="ltr"><<a href="mailto:Matthew.Arsenault@amd.com" target="_blank">Matthew.Arsenault@amd.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">  Don't accept sret or nest for vectors of pointers. Update LangRef to mention vectors.<br>
<br>
  I'm not sure about nest, and I'm not sure about noalias. Are the pointers within the vector allowed to alias another in the vector?<br>
<br>
<a href="http://llvm-reviews.chandlerc.com/D1561" target="_blank">http://llvm-reviews.chandlerc.com/D1561</a><br>
<br>
CHANGE SINCE LAST DIFF<br>
  <a href="http://llvm-reviews.chandlerc.com/D1561?vs=3933&id=4043#toc" target="_blank">http://llvm-reviews.chandlerc.com/D1561?vs=3933&id=4043#toc</a><br>
<br>
Files:<br>
  docs/LangRef.rst<br>
  lib/IR/Attributes.cpp<br>
  test/Verifier/vector-type-attributes.ll<br>
<br>
Index: docs/LangRef.rst<br>
===================================================================<br>
--- docs/LangRef.rst<br>
+++ docs/LangRef.rst<br>
@@ -661,14 +661,16 @@<br>
<br>
 ``zeroext``<br>
     This indicates to the code generator that the parameter or return<br>
-    value should be zero-extended to the extent required by the target's<br>
-    ABI (which is usually 32-bits, but is 8-bits for a i1 on x86-64) by<br>
-    the caller (for a parameter) or the callee (for a return value).<br>
+    value should be zero-extended to the extent required by the<br>
+    target's ABI (which is usually 32-bits, but is 8-bits for a i1 on<br>
+    x86-64) by the caller (for a parameter) or the callee (for a<br>
+    return value). When applied to a vector, this is per-component.<br>
 ``signext``<br>
     This indicates to the code generator that the parameter or return<br>
     value should be sign-extended to the extent required by the target's<br>
     ABI (which is usually 32-bits) by the caller (for a parameter) or<br>
-    the callee (for a return value).<br>
+    the callee (for a return value). When applied to a vector, this is<br>
+    per-component.<br></blockquote><div><br></div><div>zeroext and signext exist to solve a specific and fairly ugly ABI situation known to exist specifically with scalar integers. Do you have any motivating use cases for extending this to vectors?</div>
<div><br></div><div>Dan</div><div><br></div></div></div></div>