From: Richard Biener Date: Fri, 27 Jun 2014 10:03:51 +0000 (+0000) Subject: tree-ssa-math-opts.c (bswap_replace): Fix SLOW_UNALIGNED_ACCESS test to only apply... X-Git-Tag: releases/gcc-5.1.0~6616 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3fd269db216915329a3f016e4a7431a82ed564ef;p=thirdparty%2Fgcc.git tree-ssa-math-opts.c (bswap_replace): Fix SLOW_UNALIGNED_ACCESS test to only apply to unaligned object. 2014-06-27 Richard Biener * tree-ssa-math-opts.c (bswap_replace): Fix SLOW_UNALIGNED_ACCESS test to only apply to unaligned object. From-SVN: r212068 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9d96c2baf240..2ea692b8bb87 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-06-27 Richard Biener + + * tree-ssa-math-opts.c (bswap_replace): Fix + SLOW_UNALIGNED_ACCESS test to only apply to unaligned object. + 2014-06-27 Martin Liska * gimple.h (gimple_location_safe): New function introduced. diff --git a/gcc/tree-ssa-math-opts.c b/gcc/tree-ssa-math-opts.c index ca2b30dbc520..65dfdec55b95 100644 --- a/gcc/tree-ssa-math-opts.c +++ b/gcc/tree-ssa-math-opts.c @@ -2179,7 +2179,9 @@ bswap_replace (gimple cur_stmt, gimple_stmt_iterator gsi, gimple src_stmt, unsigned align; align = get_object_alignment (src); - if (bswap && SLOW_UNALIGNED_ACCESS (TYPE_MODE (load_type), align)) + if (bswap + && align < GET_MODE_ALIGNMENT (TYPE_MODE (load_type)) + && SLOW_UNALIGNED_ACCESS (TYPE_MODE (load_type), align)) return false; gsi_move_before (&gsi, &gsi_ins);