<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif;" dir="ltr">
<div id="divtagdefaultwrapper" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;" dir="ltr">
<p>Hi James:</p>
<p><br>
</p>
<p>Good point. I am considering the following case - </p>
<p></p>
<table cellspacing="0" cellpadding="0" border="0" width="100%" style="font-family: Arial, sans-serif; font-size: 1em; line-height: 1.4em !important;">
<tbody>
<tr id="syntaxplugin_code_and_gutter">
<td style="padding: 0em; vertical-align: top; line-height: 1.4em !important;">
<pre style="margin: 0px 10px; padding: 0px; counter-reset: lines 0; font-size: 1em; width: auto;"><span style="color: rgb(0, 102, 153); font-weight: bold; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;">struct</span><span style="font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;"> test_struct {</span></pre>
</td>
</tr>
<tr id="syntaxplugin_code_and_gutter">
<td style="padding: 0em; vertical-align: top; line-height: 1.4em !important;">
<pre style="margin: 0px 10px; padding: 0px; counter-reset: lines 0; font-size: 1em; width: auto;"><span style="font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;">  </span><span style="color: rgb(0, 102, 153); font-weight: bold; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;">int</span><span style="font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;"> a;</span></pre>
</td>
</tr>
<tr id="syntaxplugin_code_and_gutter">
<td style="padding: 0em; vertical-align: top; line-height: 1.4em !important;">
<pre style="margin: 0px 10px; padding: 0px; counter-reset: lines 0; font-size: 1em; width: auto;"><span style="font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;">  int32x4_t b;</span></pre>
</td>
</tr>
<tr id="syntaxplugin_code_and_gutter">
<td style="padding: 0em; vertical-align: top; line-height: 1.4em !important;">
<pre style="margin: 0px 10px; padding: 0px; counter-reset: lines 0; font-size: 1em; width: auto;"><span style="font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;">};</span></pre>
<pre style="margin: 0px 10px; padding: 0px; counter-reset: lines 0; font-size: 1em; width: auto;"><span style="font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;"><br></span></pre>
<pre style="margin: 0px 10px; padding: 0px; counter-reset: lines 0; font-size: 1em; width: auto;"><span style="font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;">clang will currently give it 12 bytes of padding, even though it should have been 4 bytes according to AAPCS.</span></pre>
<pre style="margin: 0px 10px; padding: 0px; counter-reset: lines 0; font-size: 1em; width: auto;"><span style="font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;"><table cellspacing="0" cellpadding="0" border="0" width="100%" style="font-family: Arial, sans-serif; font-size: 1em; line-height: 1.4em !important;"><tbody><tr id="syntaxplugin_code_and_gutter"><td style="padding: 0em; vertical-align: top; line-height: 1.4em !important;"><pre style="margin: 0px 10px; padding: 0px; counter-reset: lines 0; font-size: 1em; width: auto;"><span style="font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;"><br></span></pre><pre style="margin: 0px 10px; padding: 0px; counter-reset: lines 0; font-size: 1em; width: auto;"><span style="font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;">*** Dumping AST Record Layout</span></pre></td></tr><tr id="syntaxplugin_code_and_gutter"><td style="padding: 0em; vertical-align: top; line-height: 1.4em !important;"><pre style="margin: 0px 10px; padding: 0px; counter-reset: lines 0; font-size: 1em; width: auto;"><span style="font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;">         0 | struct test_struct</span></pre></td></tr><tr id="syntaxplugin_code_and_gutter"><td style="padding: 0em; vertical-align: top; line-height: 1.4em !important;"><pre style="margin: 0px 10px; padding: 0px; counter-reset: lines 0; font-size: 1em; width: auto;"><span style="font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;">         0 |   int a</span></pre></td></tr><tr id="syntaxplugin_code_and_gutter"><td style="padding: 0em; vertical-align: top; line-height: 1.4em !important;"><pre style="margin: 0px 10px; padding: 0px; counter-reset: lines 0; font-size: 1em; width: auto;"><span style="font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;">        16 |   int32x4_t b</span></pre></td></tr><tr id="syntaxplugin_code_and_gutter"><td style="padding: 0em; vertical-align: top; line-height: 1.4em !important;"><pre style="margin: 0px 10px 10px; padding: 0px; counter-reset: lines 0; font-size: 1em; width: auto;"><span style="font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;">           | [sizeof=32, align=16]</span></pre></td></tr></tbody></table>Best Regards </span></pre>
</td>
</tr>
<tr id="syntaxplugin_code_and_gutter">
<td style="padding: 0em; vertical-align: top; line-height: 1.4em !important;">
<pre style="margin: 0px 10px; padding: 0px; counter-reset: lines 0; font-size: 1em; width: auto;">Javed </pre>
</td>
</tr>
</tbody>
</table>
<br>
<p></p>
p.s. James, for some reason, you comment does not appear in the phabricator.</div>
<div id="divtagdefaultwrapper" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;" dir="ltr">
 </div>
<div id="divtagdefaultwrapper" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;" dir="ltr">
<br>
<br>
<div style="color: rgb(0, 0, 0);">
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> James Molloy <james@jamesmolloy.co.uk><br>
<b>Sent:</b> 15 May 2017 18:49<br>
<b>To:</b> reviews+D33205+public+7fad182a923fbe49@reviews.llvm.org; Javed Absar via Phabricator; Javed Absar; diana.picus@linaro.org; renato.golin@linaro.org<br>
<b>Cc:</b> junbuml@codeaurora.org; llvm-commits@lists.llvm.org; kanheim@a-bix.com<br>
<b>Subject:</b> Re: [PATCH] D33205: ARM] Fix Neon vector type alignment to 64-bit</font>
<div> </div>
</div>
<div>Hi Javed,<br>
<br>
Why reduce the preferred alignment from 128? Natural vector alignment means we can more often use the :128 hints on loads and stores.
<br>
<br>
What's the rationale here?<br>
<br>
James<br>
<div class="gmail_quote">
<div dir="ltr">On Mon, 15 May 2017 at 18:10, Javed Absar via Phabricator via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
javed.absar created this revision.<br>
Herald added subscribers: srhines, aemerson.<br>
<br>
The maximum alignment for ARM NEON data types should be 64-bits as specified in  ARM procedure call standard document Sec. A.2 Notes  [1]. This patch fixes it from its current larger natural default values.<br>
<br>
[1] <a href="http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042f/IHI0042F_aapcs.pdf" rel="noreferrer" target="_blank">
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042f/IHI0042F_aapcs.pdf</a><br>
<br>
<br>
<a href="https://reviews.llvm.org/D33205" rel="noreferrer" target="_blank">https://reviews.llvm.org/D33205</a><br>
<br>
Files:<br>
  lib/Basic/Targets.cpp<br>
  test/CodeGen/arm-abi-vector.c<br>
  test/CodeGen/arm-neon-misc.c<br>
  test/CodeGen/arm-swiftcall.c<br>
  test/CodeGen/armv7k-abi.c<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote>
</div>
</div>
</div>
</div>
</div>
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose,
 or store or copy the information in any medium. Thank you.
</body>
</html>