This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: msp430 port
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- To: dj at redhat dot com
- Cc: gcc-patches at gcc dot gnu dot org, law at redhat dot com, nickc at redhat dot com, rth at redhat dot com
- Date: Mon, 19 Aug 2013 17:23:40 EDT
- Subject: Re: msp430 port
- References: <51E700D1 dot 702 at redhat dot com> <201307232208 dot r6NM8QpY018297 at greed dot delorie dot com> <51F81F81 dot 4070303 at redhat dot com> <201307310324 dot r6V3OkjY005420 at greed dot delorie dot com> <52127E4D dot 1030901 at redhat dot com> <201308192049 dot r7JKnS2E029457 at greed dot delorie dot com> <52128615 dot 9080405 at redhat dot com> <201308192121 dot r7JLLFo3031839 at greed dot delorie dot com>
> register int a;
> extern volatile int b;
>
> a = b;
> a |= 0x54;
> b = a;
>
> The ISO spec seems to allow gcc to perform those operations in a
> single physical insn, as long as the operations on 'b' are all
> performed, and in the correct sequence.
And I believe it's also consistent with the "traditional" view
of volatile if that were done with a single read-modify-write insn.