Deutsch   English   Français   Italiano  
<2024Apr26.173457@mips.complang.tuwien.ac.at>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: anton@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.arch
Subject: Re: Stealing a Great Idea from the 6600
Date: Fri, 26 Apr 2024 15:34:57 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 28
Message-ID: <2024Apr26.173457@mips.complang.tuwien.ac.at>
References: <dd1866c4efb369b7b6cc499d718dc938@www.novabbs.org> <v017mg$3rcg9$1@dont-email.me> <da6dc5fe28bb31b4c73d78ef1aac2ac5@www.novabbs.org> <sdl82jpkpf1t0ctr8sgqm5bvqqireg08j5@4ax.com> <44fdd1209496c66ba18e425370a8b50d@www.novabbs.org> <ks8e2j1kquqpcupcgh32es7nci33nlajid@4ax.com> <ec69999967361c286afdbe60bc2443ea@www.novabbs.org> <dtel2j5kipf6tj9cabgp7pqk8eei14eo1a@4ax.com> <v0euek$3a2rc$1@dont-email.me> <ff78aaa73101509100f09f190838a2a7@www.novabbs.org>
Injection-Date: Fri, 26 Apr 2024 17:49:35 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="34665e79be177e2bef134484e850f3da";
	logging-data="3972330"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19MTLIaEBb32mG8A+wUjXlh"
Cancel-Lock: sha1:+fdv0hkuBqo5R9W3iZta77FZNe8=
X-newsreader: xrn 10.11
Bytes: 2497

mitchalsup@aol.com (MitchAlsup1) writes:
>What we need is ~16-bit displacements where 82½%-91¼% are positive.

What are these funny numbers about?

Do you mean that you want number ranges like -11468..54067 (82.5%
positive) or -5734..59801 (91.25% positive)?  Which one of those?  And
why not, say -8192..57343 (87.5% positive)?

>How does one use a frame pointer without negative displacements ??

You let it point to the lowest address you want to access.  That moves
the problem to unwinding frame pointer chains where the unwinder does
not know the frame-specific difference between the frame pointer and
the pointer of the next frame.

An alternative is to have a frame-independent difference that leaves
enough room that, say 90% (or 99%, or whatever) of the frames don't
need negative offsets from that frame.

Likewise, if you have signed displacements, and are unhappy about the
skewed usage, you can let the frame pointer point at an offset from
the pointer to the next fram such that the usage is less skewed.

- anton
-- 
'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
  Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>