From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.107.201.195 with SMTP id z186mr11345871iof.129.1519749613381; Tue, 27 Feb 2018 08:40:13 -0800 (PST) X-Received: by 10.157.1.9 with SMTP id 9mr668027otu.8.1519749613311; Tue, 27 Feb 2018 08:40:13 -0800 (PST) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!news.unit0.net!peer01.am4!peer.am4.highwinds-media.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!w142no292270ita.0!news-out.google.com!a25ni505itj.0!nntp.google.com!w142no292263ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Tue, 27 Feb 2018 08:40:13 -0800 (PST) In-Reply-To: <001e93f1-b645-4312-8a29-caca3860b560@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=47.185.233.194; posting-account=zwxLlwoAAAChLBU7oraRzNDnqQYkYbpo NNTP-Posting-Host: 47.185.233.194 References: <001e93f1-b645-4312-8a29-caca3860b560@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: 64-bit unsigned integer? From: "Dan'l Miller" Injection-Date: Tue, 27 Feb 2018 16:40:13 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Received-Body-CRC: 3426970057 X-Received-Bytes: 2935 Xref: reader02.eternal-september.org comp.lang.ada:50683 Date: 2018-02-27T08:40:13-08:00 List-Id: If anyone really needed the processor-overflow-bit-based implementation for= speed efficiency, then the presence of Dmitry's IF comparisons for the pow= ers-of-2 corresponding to the unconstrained integer type could conceivably = be checked easily as a new local optimization peephole (i.e., use the proce= ssor's check-the-overflow-bit test-instruction instead of using the process= or's subtraction-based comparison instructions). If open-source Ada compiler, you could add it yourself (or turn on for Ada = that optimization that might exist for C already), and submit it for merge = into the repository. If closed-source Ada compiler, you could pay your ven= dor to add it. Either way it is more of an optimizer issue than a language= -definition issue. Either open-source or closer-source way, if you want it= badly enough (e.g., because you have hard performance-analysis data to sho= w management), you can expend some money and/or time and make it happen you= rself using Dmitry's approach plus overflow-bit-test optimization to make D= mitry's software if statements be a few differences in generated instructio= ns, analogous to multiplying/dividing by powers of 2 being instead generate= d as shift left/right instructions. Leveraging the libraries-are-preferred= -henceforth view, new optimizer enhancements go hand-in-hand henceforth wit= h each new oft-utilized high-performance-required snippet of source code in= a library. And thus the effort & your audience focus shifts from 1) langu= age architects on the very front end to 2) compiler-backend developers.