Summary: | [4.1 Regression] ICE instantiate_virtual_regs_in_insn when -fforce-addr -O1 used | ||
---|---|---|---|
Product: | gcc | Reporter: | Mike Frysinger <vapier> |
Component: | target | Assignee: | Not yet assigned to anyone <unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | gcc-bugs, jakub, janis, mark, toolchain |
Priority: | P2 | Keywords: | ice-on-valid-code |
Version: | 4.1.1 | ||
Target Milestone: | 4.2.0 | ||
Host: | i686-linux-gnu | Target: | i686-linux-gnu |
Build: | Known to work: | 4.0.3 4.2.0 | |
Known to fail: | 4.1.0 4.1.1 | Last reconfirmed: | 2006-10-18 09:49:17 |
Attachments: | jsmath.i |
Description
Mike Frysinger
2006-06-22 00:07:52 UTC
Created attachment 11725 [details]
jsmath.i
Confirmed. Requires -O -fforce-addr -march=i686. void math_round() { double x; foo(x, __builtin_copysign(bar(), x)); } works on the mainline. *** Bug 28667 has been marked as a duplicate of this bug. *** I wonder what fixed this on the mainline - janis? A regression hunt using the testcase and options from comment #2 with an i686-linux cross compiler identified the following patch which fixed the bug on mainline: http://gcc.gnu.org/viewcvs?view=rev&rev=114293 r114293 | sayle | 2006-06-01 01:37:17 +0000 (Thu, 01 Jun 2006) P2, rather than P1, due to use of relatively obscure command-line option. r125879 | jakub | 2007-06-20 02:50:23 -0400 (Wed, 20 Jun 2007) | 6 lines PR middle-end/32285 * calls.c (precompute_arguments): Also precompute CALL_EXPR arguments if ACCUMULATE_OUTGOING_ARGS. * gcc.c-torture/execute/20070614-1.c: New test. on the gcc-4.1 branch made this go away. unsure if it is a real fix, or not though. Closing 4.1 branch. Not updating known-to-fail since logs suggest it might in fact be fixed there. |