Commit 3d763bcf by Kazu Hirata Committed by Kazu Hirata

re PR target/27266 (syncronization primitives cause ICE with -march=pentium or better)

gcc/
	PR target/27266
	* config/i386/i386.c (ix86_expand_branch): Jump to simple if
	ix86_compare_emitted is non-NULL.

gcc/testsuite/
	PR target/27266
	* gcc.target/i386/pr27266.c: New.

From-SVN: r113987
parent 123b24e7
2006-05-22 Kazu Hirata <kazu@codesourcery.com>
PR target/27266
* config/i386/i386.c (ix86_expand_branch): Jump to simple if
ix86_compare_emitted is non-NULL.
2006-05-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 2006-05-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
PR c++/27451 PR c++/27451
......
...@@ -10175,6 +10175,12 @@ ix86_expand_branch (enum rtx_code code, rtx label) ...@@ -10175,6 +10175,12 @@ ix86_expand_branch (enum rtx_code code, rtx label)
{ {
rtx tmp; rtx tmp;
/* If we have emitted a compare insn, go straight to simple.
ix86_expand_compare won't emit anything if ix86_compare_emitted
is non NULL. */
if (ix86_compare_emitted)
goto simple;
switch (GET_MODE (ix86_compare_op0)) switch (GET_MODE (ix86_compare_op0))
{ {
case QImode: case QImode:
......
2006-05-22 Kazu Hirata <kazu@codesourcery.com>
PR target/27266
* gcc.target/i386/pr27266.c: New.
2006-05-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 2006-05-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
PR c++/27451 PR c++/27451
/* PR target/27266.
The testcase below used to trigger an ICE. */
/* { dg-do compile } */
/* { dg-require-effective-target ilp32 } */
/* { dg-options "-march=pentium" } */
signed long long sll;
void
foo (void)
{
__sync_fetch_and_add (&sll, 1);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment