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: <44fdd1209496c66ba18e425370a8b50d@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,