<div>Rafael,</div><div><br></div><div>I'm afraid not. <2 x i64> is aligned to 8-bytes on X86-64, both ABI and stack.</div><div><br></div><div>I'm not sure there's any way to "test" this change... it may have no external effects (except for Native Client). All major architectures have stack alignment the same as ABI alignment. In principle, however, I think this change is correct.</div>
<meta charset="utf-8"><div><br></div><div>- David M</div><div><br></div><div class="gmail_quote">On Wed, Oct 13, 2010 at 1:09 PM, Rafael Espindola <span dir="ltr"><<a href="mailto:espindola@google.com">espindola@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">On 13 October 2010 15:02, David Meyer <<a href="mailto:pdox@google.com">pdox@google.com</a>> wrote:<br>

> Rafael,<br>
> The default on X86-32 is 4-byte alignment for doubles and long long (both in<br>
> structs and on the stack).<br>
> (gcc has the flag -malign-double to increase alignment to 8-bytes).<br>
<br>
</div>Yes, just realized that. One case that you can use for testing this<br>
patch is  "<2 x i64>". Without your patch it should be aligned to 16<br>
bytes, but with your patch it will be aligned to 8 on x86-64.<br>
<br>
Also note that adding s:32 to your target description will align<br>
everything on the call frame to 32 bits. I hope that is what you want.<br>
If so I will commit your patch with a test using <2 x i64>.<br>
<br>
> - David M<br>
<div><div></div><div class="h5"><br>
Cheers,<br>
--<br>
Rafael Ávila de Espíndola<br>
</div></div></blockquote></div><br>