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 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!feeds.phibee-telecom.net!news.osn.de!diablo2.news.osn.de!proxad.net!feeder2-2.proxad.net!newsfeed.arcor.de!newsspool2.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Fri, 15 Nov 2013 20:25:28 +0100 From: Georg Bauhaus User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/20130801 Thunderbird/17.0.8 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: GNAT 4.8 atomic access to 64-bit objects References: <1neco99j6szmk$.ayjyo0uds8a5.dlg@40tude.net> <87k3gahgdp.fsf@ludovic-brenta.org> <17hrkmg61tzsa.10xsgmupjcz79$.dlg@40tude.net> In-Reply-To: <17hrkmg61tzsa.10xsgmupjcz79$.dlg@40tude.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Message-ID: <52867527$0$9504$9b4e6d93@newsspool1.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 15 Nov 2013 20:25:27 CET NNTP-Posting-Host: c3bc0e84.newsspool1.arcor-online.net X-Trace: DXC=_4_5gd[FPm`g`45cDR8l?oic==]BZ:afn4Fo<]lROoRankgeX?EC@@`>UoMUM1ISkoPCY\c7>ejVhj3l2i]Hj>>i:XJCHhim On 15.11.13 09:44, Dmitry A. Kazakov wrote: > On Thu, 14 Nov 2013 21:34:26 +0100, Ludovic Brenta wrote: >> I'd suggest you use 64-bit floating-point registers instead; i386 >> processors have them, I think. That has been a useful trick for a >> decade or so :) > > Using unchecked union or unchecked conversion? FTR, a different 32 bit implementation (Ada 95) does not support a binary modulus of 64, and also, while Unchecked_Conversion passes the value 42 from an integer register to a FPT register and back as 42, idly trying type Fake is new Long_Float; pragma Atomic (Fake); gives LRM:C.6(10), Indivisible read/update not supported for given subtype, pragma Atomic ignored