[Bug tree-optimization/54240] New: Routine hoist_adjacent_loads does not work properly after r189366
ysrumyan at gmail dot com
gcc-bugzilla@gcc.gnu.org
Mon Aug 13 12:26:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54240
Bug #: 54240
Summary: Routine hoist_adjacent_loads does not work properly
after r189366
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: ysrumyan@gmail.com
This regression can be seen in the attached simple test-case - cmov conversion
is not happened. The fix is evident:
--- tree-ssa-phiopt.c (revision 190151)
+++ tree-ssa-phiopt.c (working copy)
@@ -1864,7 +1864,7 @@
/* Check the mode of the arguments to be sure a conditional move
can be generated for it. */
- if (!optab_handler (cmov_optab, TYPE_MODE (TREE_TYPE (arg1))))
+ if (optab_handler (cmov_optab, TYPE_MODE (TREE_TYPE (arg1)) ==
CODE_FOR_nothing))
continue;
/* Both statements must be assignments whose RHS is a COMPONENT_REF. */
You can see this regression on any platform supporting conditional moves (I
tested it on x86).
More information about the Gcc-bugs
mailing list