<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>I don't believe this is portable.<div>Such code would only compile for x86/amd64 targets.</div><div>I think.</div><div>We want to cater to such target-specific constructs?</div><div>I should confirm it is target-specific?</div><div>I want to eliminate gratuitous target-specific aspects and devolve the IR to having essentially 3 variables -- word size and endian and NT vs. posix. Fewer if I can manage to.</div><div><br></div><div><br></div><div> - Jay<br><br><br><div><hr id="stopSpelling">Subject: Re: [M3devel] Target.Allow_packed_byte_aligned<br>From: hosking@purdue.edu<br>Date: Mon, 21 Sep 2015 12:47:07 +1000<br>CC: m3devel@elegosoft.com<br>To: jay.krell@cornell.edu<br><br><div>Packed types are part of the language and their behavior should be preserved. Just because we don't use it on the libraries others do!<br><br>Sent from my iPhone</div><div><br>On Sep 21, 2015, at 12:19 PM, Jay K <<a href="mailto:jay.krell@cornell.edu">jay.krell@cornell.edu</a>> wrote:<br><br></div><blockquote><div>
<style><!--
.ExternalClass .ecxhmmessage P {
padding:0px;
}
.ExternalClass body.ecxhmmessage {
font-size:12pt;
font-family:Calibri;
}
--></style>
<div dir="ltr">I don't think so.<div>I built the system with it.</div><div>Granted, only one target.</div><div><br></div><div>If we had something like</div><div>TYPE T = BITS BITSIZE(INTEGER) + 8 FOR PACKED RECORD</div><div> a: CHAR</div><div> b:INTEGER</div><div>END;</div><div><br></div><div>I think it'd break that.</div><div>I'm not sure we any longer use packed types.</div><div>And such things would only work for x86/amd64 I believe.</div><div><br></div><div> - Jay<br><br><br><div><hr id="ecxstopSpelling">Subject: Re: [M3devel] Target.Allow_packed_byte_aligned<br>From: <a href="mailto:hosking@purdue.edu">hosking@purdue.edu</a><br>Date: Mon, 21 Sep 2015 10:44:59 +1000<br>CC: <a href="mailto:m3devel@elegosoft.com">m3devel@elegosoft.com</a><br>To: <a href="mailto:jay.krell@cornell.edu">jay.krell@cornell.edu</a><br><br><div>We should be careful here. Might break something, no?<br><br>Sent from my iPhone</div><div><br>On Sep 21, 2015, at 2:53 AM, Jay K <<a href="mailto:jay.krell@cornell.edu">jay.krell@cornell.edu</a>> wrote:<br><br></div><blockquote><div>
<style><!--
.ExternalClass .ecxhmmessage P {
padding:0px;
}
.ExternalClass body.ecxhmmessage {
font-size:12pt;
font-family:Calibri;
}
--></style>
<div dir="ltr">I propose that Allow_packed_byte_aligned be set to FALSE for <span style="font-size:12pt;">all targets.</span><div><br></div><div>Or make it const.</div><div><br></div><div><br></div><div><span style="font-size:12pt;">Or remove it.</span></div><div><br></div><div><br></div><div>This will degrade slightly x86/amd64 but in, I speculate, fairly rare paths.</div><div>Specifically, if you manage to create a packed type with unaligned fields,</div><div>presumably loads/stores get converted to multiple aligned loads/stores followed</div><div>by putting stuff back together. The occurrence of the unaligned fields should</div><div>be very rare in the first place.</div><div><br></div><div><br></div><div><span style="font-size:12pt;">I does not affect any other target.</span></div><div><br></div><div><br></div><div>Granted, x86 and amd64 are the most common targets.</div><div><br></div><div><br></div><div>Ok?</div><div> - Jay<br><br><br></div> !
</div>
</div></blockquote><blockquote><div><span>_______________________________________________</span><br><span>M3devel mailing list</span><br><span><a href="mailto:M3devel@elegosoft.com">M3devel@elegosoft.com</a></span><br><span><a href="https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3devel" target="_blank">https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3devel</a></span><br></div></blockquote></div></div> </div>
</div></blockquote></div></div> </div></body>
</html>