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=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: border1.nntp.dca1.giganews.com!nntp.giganews.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!feeder.erje.net!eu.feeder.erje.net!news2.arglkargh.de!news.mixmin.net!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Forcing GNAT to use 32-bit load/store instructions on ARM? Date: Tue, 1 Jul 2014 21:36:41 +0200 Organization: cbb software GmbH Message-ID: References: <0e0b9ac2-e793-4cc5-8d8d-d3441ca28a58@googlegroups.com> <1j7b0m3yptffy$.1cztnkty8elrv$.dlg@40tude.net> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: qHNcUCBwwd01dPSBp/L1cg.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: number.nntp.dca.giganews.com comp.lang.ada:187314 Date: 2014-07-01T21:36:41+02:00 List-Id: On Tue, 1 Jul 2014 17:00:45 +0000 (UTC), Simon Clubley wrote: > On 2014-07-01, Dmitry A. Kazakov wrote: >> On Tue, 1 Jul 2014 12:09:36 +0000 (UTC), Simon Clubley wrote: >> >>> On 2014-07-01, Dmitry A. Kazakov wrote: >>>> On Mon, 30 Jun 2014 15:11:31 -0700 (PDT), daniel.dmk@googlemail.com wrote: >>>>> Things I have tried: >>>>> 1) Using the Atomic aspect on the record type and CR object had no effect >>>>> on the code generated. >>>> >>>> Yes, I hope they will fix this for this and other platforms, e.g. 64-bit >>>> atomic load/store for i686. >>> >>> Are you saying Pragma Atomic is known to be broken in GNAT ? >> >> It is not broken. The problem I know is that it is rejected on machines >> that do support atomic load and store. >> > > That's not great, but at least you know there's a problem at compile > time. > > In the OP's case (according to the problem description), pragma Atomic > was been accepted, but the generated code was not using a 32-bit store > and was using an 8-bit store into a 32-bit field instead. Yes, my case was different. The pragma was rejected. > If for some reason the compiler could not generate a 32-bit str opcode > instead of an 8-bit strb opcode, the pragma Atomic should have caused > an error during compilation. Well, pragmas are permitted to be ignored. Atomic should never be a pragma. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de