aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-phiopt.c
diff options
context:
space:
mode:
authorBill Schmidt <wschmidt@linux.vnet.ibm.com>2012-08-15 13:17:42 +0000
committerWilliam Schmidt <wschmidt@gcc.gnu.org>2012-08-15 13:17:42 +0000
commit0a5f2683732f0fc6edd1367295e8a218300d01c9 (patch)
tree50cef6af829959fed0d8ae9cf5b24d10849c86d9 /gcc/tree-ssa-phiopt.c
parent6d67b4c74da3e8a09925f5821b6e9df3352f9934 (diff)
downloadgcc-0a5f2683732f0fc6edd1367295e8a218300d01c9.zip
gcc-0a5f2683732f0fc6edd1367295e8a218300d01c9.tar.gz
gcc-0a5f2683732f0fc6edd1367295e8a218300d01c9.tar.bz2
re PR tree-optimization/54240 (Routine hoist_adjacent_loads does not work properly after r189366)
gcc: 2012-08-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR tree-optimization/54240 * tree-ssa-phiopt.c (hoist_adjacent_loads): Correct test for existence of conditional move with given mode. gcc/testsuite: 2012-08-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR tree-optimization/54240 * gcc.target/powerpc/pr54240.c: New test. * gcc.target/mips/pr54240.c: Likewise. From-SVN: r190411
Diffstat (limited to 'gcc/tree-ssa-phiopt.c')
-rw-r--r--gcc/tree-ssa-phiopt.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-ssa-phiopt.c b/gcc/tree-ssa-phiopt.c
index 0dcfbc7..4c72915 100644
--- a/gcc/tree-ssa-phiopt.c
+++ b/gcc/tree-ssa-phiopt.c
@@ -1842,7 +1842,8 @@ hoist_adjacent_loads (basic_block bb0, basic_block bb1,
/* 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 (movcc_optab, TYPE_MODE (TREE_TYPE (arg1)))
+ == CODE_FOR_nothing)
continue;
/* Both statements must be assignments whose RHS is a COMPONENT_REF. */