<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div text="#000000" bgcolor="#FFFFFF"><span class=""><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div text="#000000" bgcolor="#FFFFFF">Actually, this
brings up a related issue. We seem to have no
documentation in the lang ref about how vector types are
represented in memory. The actual implementation
appears to assumed packed bits, but the docs don't say.
Depending on what the semantics here are, my assumptions
in the last two paragraphs may not be valid. <br>
</div>
</blockquote>
<div><br>
</div>
<div>Indeed!</div>
</div>
</div>
</div>
</blockquote></span>
Any clue how to start specifying this? It would seem to be ABI
dependent. <br></div></blockquote><div><br></div><div>Maybe start a new threads here describing the problem? I don't really know otherwise.</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div text="#000000" bgcolor="#FFFFFF"><span class=""><blockquote type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"><span>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_extra">
<ul>
<li>Once we add vector, should we consider
adding other composite types in general,
including structs? C++ allows this, but has
substantial issues w.r.t. padding.</li>
</ul>
</div>
</div>
</blockquote>
</span> I'd say possibly, but FCAs are poorly supported
in the IR in general. I am not willing to block changes
for vectors on changes for FCAs. This has never been
our policy in the past and should not become so now. <br>
</div>
</blockquote>
<div><br>
</div>
<div>Oh yeah I don't think we should block it. FWIW I expect
that some of these will generate calls to the runtime's
global atomic lock shard, which is horrible.</div>
</div>
</div>
</div>
</blockquote></span>
"global atomic lock shard"? I have no idea what you're referring
to. Is that something in libc?</div></blockquote><div><br></div><div>compiler-rt: <a href="https://github.com/llvm-mirror/compiler-rt/blob/master/lib/builtins/atomic.c">https://github.com/llvm-mirror/compiler-rt/blob/master/lib/builtins/atomic.c</a></div></div></div></div>