<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 think so. Calls through function pointers will incur like two extra instructions, an and and a conditional branch. All 32bit targets in fact will pay that cost, and only arm32 needs it.<div><br></div><div><br></div><div>I have another propose a week or so go, roughly, for all targets:</div><div>   mask off lower two bits </div><div>   only read 4 bytes </div><div><br></div><div>   </div><div>That would avoid the conditional branch.</div><div>It should work for all targets also.</div><div>The masking is only needed for ARM32.</div><div>All other targets have either 4-byte aligned instructions, or don't care about alignment faults.</div><div><br></div><div><br></div><div> - Jay<br><br><br><br><div>> Subject: Re: [M3commit] [modula3/cm3] ced183: Aligned_procedures always FALSE -- reduce target v...<br>> From: hosking@purdue.edu<br>> Date: Mon, 21 Sep 2015 10:47:05 +1000<br>> CC: m3commit@elegosoft.com<br>> To: jay.krell@cornell.edu<br>> <br>> This will break some targets I believe. X86/x86-64 no?<br>> <br>> Sent from my iPhone<br>> <br>> > On Sep 21, 2015, at 2:43 AM, jaykrell <jay.krell@cornell.edu> wrote:<br>> > <br>> >  Branch: refs/heads/master<br>> >  Home:   https://github.com/modula3/cm3<br>> >  Commit: ced183d086a829001f44ea5f8f791df2e3952d4f<br>> >      https://github.com/modula3/cm3/commit/ced183d086a829001f44ea5f8f791df2e3952d4f<br>> >  Author: jaykrell <jay.krell@cornell.edu><br>> >  Date:   2015-09-20 (Sun, 20 Sep 2015)<br>> > <br>> >  Changed paths:<br>> >    M m3-sys/m3middle/src/Target.m3<br>> > <br>> >  Log Message:<br>> >  -----------<br>> >  Aligned_procedures always FALSE -- reduce target variation<br>> > <br>> > <br>> > _______________________________________________<br>> > M3commit mailing list<br>> > M3commit@elegosoft.com<br>> > https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit<br></div></div>                                      </div></body>
</html>