Deutsch English Français Italiano |
<vc6vno$285g2$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: David Brown <david.brown@hesbynett.no> Newsgroups: comp.arch Subject: Re: Computer architects leaving Intel... Date: Sun, 15 Sep 2024 17:50:15 +0200 Organization: A noiseless patient Spider Lines: 38 Message-ID: <vc6vno$285g2$1@dont-email.me> References: <2024Aug30.161204@mips.complang.tuwien.ac.at> <vbcob9$dvp4$1@dont-email.me> <vbd6ia$e0ld$2@dont-email.me> <UxpCO.174965$Hld5.7714@fx15.iad> <vc41rl$1fhjd$1@dont-email.me> <2024Sep14.152652@mips.complang.tuwien.ac.at> <d93c1dc0455692767c89ea9f7bd47ed1@www.novabbs.org> <vc4o0l$1kuqf$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Sun, 15 Sep 2024 17:50:16 +0200 (CEST) Injection-Info: dont-email.me; posting-host="0f814bd11c9fbe5b78942ec153f06f57"; logging-data="2364930"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18tCAoemxZ2jg48TrNateBs1/xJHVgcqrY=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:KpbP9wjSCp+mblCLU1yAtsIMZco= In-Reply-To: <vc4o0l$1kuqf$1@dont-email.me> Content-Language: en-GB Bytes: 3052 On 14/09/2024 21:26, Thomas Koenig wrote: > MitchAlsup1 <mitchalsup@aol.com> schrieb: > >> In many cases int is slower now than long -- which violates the notion >> of int from K&R days. > > That's a designers's choice, I think. It is possible to add 32-bit > instructions which should be as fast (or possibly faster) than > 64-bit instructions, as AMD64 and ARM have shown. > For some kinds of instructions, that's true - for others, it's not so easy without either making rather complicated instructions or having assembly instructions with undefined behaviour (imagine the terror that would bring to some people!). A classic example would be for "y = p[x++];" in a loop. For a 64-bit type x, you would set up one register once with "p + x", and then have a load with post-increment instruction in the loop. You can also do that with x as a 32-bit int, unless you are of the opinion that enough apples added to a pile should give a negative number of apples. But with a wrapping type for x - such as unsigned int in C or modulo types in Ada, you have little choice but to hold "p" and "x" separately in registers, add them for every load, and do the increment and modulo operation. I really can't see this all being handled by a single instruction. Of course you could add a 32-bit zero extend or sign extend to many 32-bit ALU instructions and save some instructions - many architectures already support that kind of thing. > And having a smaller memory footprint is also beneficial, especially > for caches. > > (Plus, there are FORTRAN's storage association rules, but these should > be less used by now. But for a 64-bit integer, they pretty much would > require a 64-bit REAL and a 128-bit DOUBLE PRECISION).