diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2013-06-06 21:14:15 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2013-06-06 21:14:15 +0000 |
commit | 24c256c826a3363fdb6fda6c2172d17a6c77b4c2 (patch) | |
tree | 71297d3e43993198ca85ed3bb7769459b28a8dcf /gnu/gcc | |
parent | d4a7160c3c2dd5f61a0cf1a5cf0f6d3ad53e4db7 (diff) |
Disable a broken optimization in try_combine(); GCC PR #34628.
The PR comes with a real fix, but it is covered by the GPL v3, and is
neither trivial nor straightforward, so use a hammer and disable the
unreliable code.
Verified to fix bogus code generation on macppc.
Diffstat (limited to 'gnu/gcc')
-rw-r--r-- | gnu/gcc/gcc/combine.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gnu/gcc/gcc/combine.c b/gnu/gcc/gcc/combine.c index c5655ea4038..7ab118801a1 100644 --- a/gnu/gcc/gcc/combine.c +++ b/gnu/gcc/gcc/combine.c @@ -2374,8 +2374,10 @@ try_combine (rtx i3, rtx i2, rtx i1, int *new_direct_jump_p) above (see detailed comments there) that ensures that I1DEST isn't mentioned in any SETs in NEWPAT that are field assignments. */ +#if !defined(OPENBSD_NATIVE) && !defined(OPENBSD_CROSS) /* GCC PR #34628 */ if (! combinable_i3pat (NULL_RTX, &newpat, i1dest, NULL_RTX, 0, (rtx*) 0)) +#endif { undo_all (); return 0; |