[Bug target/25662] [4.0/4.1 Regression] Unrecognizable insn with -O on PPC
--- Comment #10 from dje at gcc dot gnu dot org 2006-01-09 02:19 --- Fix committed to all mainline, 4.1, 4.0. -- dje at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25662
[Bug target/25662] [4.0/4.1 Regression] Unrecognizable insn with -O on PPC
--- Comment #9 from dje at gcc dot gnu dot org 2006-01-08 20:55 --- Subject: Bug 25662 Author: dje Date: Sun Jan 8 20:55:39 2006 New Revision: 109477 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109477 Log: 2006-01-08 Ian Lance Taylor David Edelsohn <[EMAIL PROTECTED]> PR rtl-optimization/25662 * optabs.c (simplify_expand_binop): Use simplify_binary_operation for constant operands instead of simplify_gen_binary. Modified: branches/gcc-4_0-branch/gcc/ChangeLog branches/gcc-4_0-branch/gcc/optabs.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25662
[Bug target/25662] [4.0/4.1 Regression] Unrecognizable insn with -O on PPC
--- Comment #8 from dje at gcc dot gnu dot org 2006-01-08 20:54 --- Subject: Bug 25662 Author: dje Date: Sun Jan 8 20:54:28 2006 New Revision: 109476 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109476 Log: 2006-01-08 Ian Lance Taylor David Edelsohn <[EMAIL PROTECTED]> PR rtl-optimization/25662 * optabs.c (simplify_expand_binop): Use simplify_binary_operation for constant operands instead of simplify_gen_binary. Modified: branches/gcc-4_1-branch/gcc/ChangeLog branches/gcc-4_1-branch/gcc/optabs.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25662
[Bug target/25662] [4.0/4.1 Regression] Unrecognizable insn with -O on PPC
--- Comment #7 from dje at gcc dot gnu dot org 2006-01-07 22:23 --- Subject: Bug 25662 Author: dje Date: Sat Jan 7 22:23:27 2006 New Revision: 109456 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109456 Log: 2005-01-07 Ian Lance Taylor David Edelsohn <[EMAIL PROTECTED]> PR rtl-optimization/25662 * optabs.c (simplify_expand_binop): Use simplify_binary_operation for constant operands instead of simplify_gen_binary. * simplify-rtx.c (simplify_gen_binary): Swap commutative operands after trying simplify_binary_operation Modified: trunk/gcc/ChangeLog trunk/gcc/optabs.c trunk/gcc/simplify-rtx.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25662
[Bug target/25662] [4.0/4.1 Regression] Unrecognizable insn with -O on PPC
--- Comment #6 from halcy0n at gentoo dot org 2006-01-06 20:54 --- I can confirm it fixes it on my box as well. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25662
[Bug target/25662] [4.0/4.1 Regression] Unrecognizable insn with -O on PPC
--- Comment #5 from dje at gcc dot gnu dot org 2006-01-06 20:18 --- The patched compiler does build and does fix the testcase. -- dje at gcc dot gnu dot org changed: What|Removed |Added CC||dje at gcc dot gnu dot org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2006-01-06 20:18:53 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25662
[Bug target/25662] [4.0/4.1 Regression] Unrecognizable insn with -O on PPC
--- Comment #4 from ian at airs dot com 2006-01-06 19:06 --- Created an attachment (id=10590) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10590&action=view) Sample untested patch -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25662
[Bug target/25662] [4.0/4.1 Regression] Unrecognizable insn with -O on PPC
--- Comment #3 from ian at airs dot com 2006-01-06 19:05 --- I think this is a bug in simplify_expand_binop (adding Richard Sandiford to the CC since he introduced that function). Currently when simplify_expand_binop is given two constants, it calls simplify_gen_binary. When the operation does not simplify, that will wind up returning RTL which may not satisfy the instruction predicates. I think it should call simplify_binary_operation instead. If that fails, it should call expand_binop as usual. I will attach a sample, untested, patch. -- ian at airs dot com changed: What|Removed |Added CC||richard at codesourcery dot ||com, ian at airs dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25662
[Bug target/25662] [4.0/4.1 Regression] Unrecognizable insn with -O on PPC
--- Comment #2 from jakub at gcc dot gnu dot org 2006-01-05 08:40 --- Note that the code has undefined behaviour. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25662
[Bug target/25662] [4.0/4.1 Regression] Unrecognizable insn with -O on PPC
--- Comment #1 from pinskia at gcc dot gnu dot org 2006-01-04 14:37 --- This works on the mainline as of today but failed with 4.2.0 20051219. Confirmed. Though I should note this is really weird as DOM is messing up in that version of GCC and we still have 1 << -1 which is not being folded. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC||pinskia at gcc dot gnu dot ||org Severity|normal |critical Component|middle-end |target Known to fail|4.0.3 4.1.0 4.2.0 |4.0.3 4.1.0 Known to work|3.4.5 |3.4.5 4.2.0 Summary|[4.0/4.1/4.2 Regression]|[4.0/4.1 Regression] |Unrecognizable insn with -O |Unrecognizable insn with -O |on PPC |on PPC Target Milestone|--- |4.0.3 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25662