This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: optimisation question
- From: Robert Dewar <dewar at adacore dot com>
- To: Andreas Schwab <schwab at suse dot de>
- Cc: "Remy X.O. Martin" <vsxo at hotmail dot com>,Joe Buck <Joe dot Buck at synopsys dot COM>, gcc at gcc dot gnu dot org
- Date: Wed, 02 Feb 2005 07:47:47 -0500
- Subject: Re: optimisation question
- References: <20050131152659.0dc92d6c@portia.local> <41FE6ADB.3070706@adacore.com> <20050131234317.GA4737@synopsys.com> <20050201182110.192883b1@portia.local> <jevf9cdwe9.fsf@sykes.suse.de>
Andreas Schwab wrote:
"Remy X.O. Martin" <vsxo@hotmail.com> writes:
Here's another 'trick' I learned in those days: use a=b, c=d, e=f; rather
than a=b; c=d; e=f; (like in the initialisation expression of a for
loop). "The first version might be executed in parallel. Of course we
don't have parellel machines here, but you never know..."
Also nonsense of course
And of course it is wrong, because the comma operator creates a sequence
point (but K&R C didn't have sequence points yet).
Irrelevant, the assignments can be done in parallel regardless of which
form they are written in. Sequence points create as-if sequencing, but
a compiler can always reorder etc if it has no effect on the result.
Note in fact that most modern superscalar machines will extract
this kind of parallelism on the fly without the compiler doing
anything much.
Andreas.