Re: variable length instructions, was Chicken or the Egg?

vbdis@aol.com (VBDis)
15 Oct 2000 16:32:34 -0400

          From comp.compilers

Related articles
Re: variable length instructions, was Chicken or the Egg? debray@CS.Arizona.EDU (2000-10-12)
Re: variable length instructions, was Chicken or the Egg? michael@moria.de (2000-10-12)
Re: variable length instructions, was Chicken or the Egg? vbdis@aol.com (2000-10-15)
Re: variable length instructions, was Chicken or the Egg? cfc@world.std.com (Chris F Clark) (2000-10-18)
Re: variable length instructions, was Chicken or the Egg? dietrich@216.26.55.26 (Dietrich Epp) (2000-10-19)
Re: variable length instructions, was Chicken or the Egg? michael@moria.de (2000-10-19)
Re: variable length instructions, was Chicken or the Egg? david.thompson1@worldnet.att.net (David Thompson) (2000-10-19)
Re: variable length instructions, was Chicken or the Egg? michael@moria.de (2000-10-23)
| List of all articles for this month |
From: vbdis@aol.com (VBDis)
Newsgroups: comp.compilers
Date: 15 Oct 2000 16:32:34 -0400
Organization: AOL Bertelsmann Online GmbH & Co. KG http://www.germany.aol.com
References: 00-10-097
Keywords: linker, optimize

michael@moria.de schreibt:
>The reason for starting with short instructions is that you usually get a
>smaller executable


I retracted an objection, when I found that it's *really necessary* to
start with the *most compact* representation of some code. It's easy
to determine when an address or offset will occupy more bytes, since
this cannot result in a future size reduction of that instruction
argument. But in contrast it's near impossible to determine, when the
reduction of multiple references to a smaller size will move the
target(s) from an outer range into the (assumed) nearer range.


Assume that you have two (or more) instructions, which refer to a
target at an offset, which would just fit into a single byte. Then two
stable states are possible, with regards to code size, where 2
instructions with byte-size arguments will fit, or where 2 instruction
with word-size arguments will move the target away 2 more bytes, so
that word-size arguments really are required.


DoDi
[As I think we've said three times now, this is certainly possible in
theory. I'd still like to hear whether it occurs in practice often
enough to matter. -John]





Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.