[Bug target/46346] [4.6 regression] fma testsuite failures
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46346 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2010.11.07 15:22:59 AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | Target Milestone|--- |4.6.0 Ever Confirmed|0 |1 --- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2010-11-07 15:22:59 UTC --- Mine.
[Bug target/46346] [4.6 regression] fma testsuite failures
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46346 --- Comment #2 from Uros Bizjak ubizjak at gmail dot com 2010-11-07 16:15:39 UTC --- A trivial attempt that fixes builtin-attr-1.c for x86 with -mfma: Index: tree-ssa-forwprop.c === --- tree-ssa-forwprop.c(revision 166415) +++ tree-ssa-forwprop.c(working copy) @@ -341,7 +341,11 @@ rhs_to_tree (tree type, gimple stmt) { location_t loc = gimple_location (stmt); enum tree_code code = gimple_assign_rhs_code (stmt); - if (get_gimple_rhs_class (code) == GIMPLE_BINARY_RHS) + if (get_gimple_rhs_class (code) == GIMPLE_TERNARY_RHS) +return fold_build3_loc (loc, code, type, gimple_assign_rhs1 (stmt), +gimple_assign_rhs2 (stmt), +gimple_assign_rhs3 (stmt)); + else if (get_gimple_rhs_class (code) == GIMPLE_BINARY_RHS) return fold_build2_loc (loc, code, type, gimple_assign_rhs1 (stmt), gimple_assign_rhs2 (stmt)); else if (get_gimple_rhs_class (code) == GIMPLE_UNARY_RHS)
[Bug target/46346] [4.6 regression] fma testsuite failures
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46346 --- Comment #3 from rguenther at suse dot de rguenther at suse dot de 2010-11-07 17:39:16 UTC --- On Sun, 7 Nov 2010, ubizjak at gmail dot com wrote: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46346 --- Comment #2 from Uros Bizjak ubizjak at gmail dot com 2010-11-07 16:15:39 UTC --- A trivial attempt that fixes builtin-attr-1.c for x86 with -mfma: Works for me. Index: tree-ssa-forwprop.c === --- tree-ssa-forwprop.c(revision 166415) +++ tree-ssa-forwprop.c(working copy) @@ -341,7 +341,11 @@ rhs_to_tree (tree type, gimple stmt) { location_t loc = gimple_location (stmt); enum tree_code code = gimple_assign_rhs_code (stmt); - if (get_gimple_rhs_class (code) == GIMPLE_BINARY_RHS) + if (get_gimple_rhs_class (code) == GIMPLE_TERNARY_RHS) +return fold_build3_loc (loc, code, type, gimple_assign_rhs1 (stmt), +gimple_assign_rhs2 (stmt), +gimple_assign_rhs3 (stmt)); + else if (get_gimple_rhs_class (code) == GIMPLE_BINARY_RHS) return fold_build2_loc (loc, code, type, gimple_assign_rhs1 (stmt), gimple_assign_rhs2 (stmt)); else if (get_gimple_rhs_class (code) == GIMPLE_UNARY_RHS)
[Bug target/46346] [4.6 regression] fma testsuite failures
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46346 --- Comment #4 from uros at gcc dot gnu.org 2010-11-07 17:49:15 UTC --- Author: uros Date: Sun Nov 7 17:49:11 2010 New Revision: 166419 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=166419 Log: PR tree-optimization/46346 * tree-ssa-forwprop.c (rhs_to_tree): Handle GIMPLE_TERNARY_RHS. Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-ssa-forwprop.c