From patchwork Tue Jun 28 09:29:06 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: {patch tree-ssa-math-opts]: Change searching direction for bswap Date: Mon, 27 Jun 2011 23:29:06 -0000 From: Kai Tietz X-Patchwork-Id: 102343 Message-Id: <557542071.809365.1309253346481.JavaMail.root@zmail06.collab.prod.int.phx2.redhat.com> To: Richard Guenther Cc: gcc-patches@gcc.gnu.org Oh, missed to fill comment. Thanks, Kai Index: gcc-head/gcc/tree-ssa-math-opts.c =================================================================== --- gcc-head.orig/gcc/tree-ssa-math-opts.c +++ gcc-head/gcc/tree-ssa-math-opts.c @@ -1821,7 +1821,11 @@ execute_optimize_bswap (void) { gimple_stmt_iterator gsi; - for (gsi = gsi_after_labels (bb); !gsi_end_p (gsi); gsi_next (&gsi)) + /* We scan for bswap patterns reverse for making sure we get + widest match. As bswap pattern matching doesn't handle + previously inserted smaller bswap replacements as sub- + patterns, the wider variant wouldn't be detected. */ + for (gsi = gsi_last_bb (bb); !gsi_end_p (gsi); gsi_prev (&gsi)) { gimple stmt = gsi_stmt (gsi); tree bswap_src, bswap_type;