This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: FAIL: gcc.c-torture/execute/950628-1.c execution, -O1
- To: Richard Kenner <kenner at vlsi1 dot ultra dot nyu dot edu>
- Subject: Re: FAIL: gcc.c-torture/execute/950628-1.c execution, -O1
- From: Richard Henderson <rth at redhat dot com>
- Date: Wed, 24 Jan 2001 15:50:08 -0800
- Cc: gcc-patches at gcc dot gnu dot org
- References: <10101242335.AA05027@vlsi1.ultra.nyu.edu>
On Wed, Jan 24, 2001 at 06:34:24PM -0500, Richard Kenner wrote:
> Precisely which sets of /u operations are considered to conflict and
> which are not?
Consider the combinations:
/u read <- /u read reads never conflict
anti /u read <- /u write shouldn't happen, since no multiple writes.
true /u write <- /u read conflict
output /u write <- /u write shouldn't happen, since no multiple writes.
For anti_dependance and true_dependance, this is what we implement.
I just noticed that output_dependance yields true for two unchanging
writes. I'm not sure why that is; perhaps it is trying to catch a
case of an initializer for a structure containing bitfields for which
we end up with multiple stores to the same word in sequence. Dubious
at best, that's for sure.
r~