Sorry, took longer than expected as I got distracted by some other patch. I merged the whole patchset in a single patch as I was told the current setup is actually more difficult to read.
Here are the updated ChangeLogs: *** gcc/ChangeLog *** 2014-05-09 Thomas Preud'homme <thomas.preudho...@arm.com> PR tree-optimization/54733 * expr.c (get_inner_reference): Add a parameter to control whether a MEM_REF should be split into base + offset. * tree.h (get_inner_reference): Default new parameter to false. * tree-ssa-math-opts.c (nop_stats): New "bswap_stats" structure. (CMPNOP): Define. (find_bswap_or_nop_load): New. (find_bswap_1): Renamed to ... (find_bswap_or_nop_1): This. Also add support for memory source. (find_bswap): Renamed to ... (find_bswap_or_nop): This. Also add support for memory source and detection of bitwise operations equivalent to load in host endianness. (execute_optimize_bswap): Likewise. Also move its leading comment back in place and split statement transformation into ... (bswap_replace): This. Add assert when updating bswap_stats. *** gcc/testsuite/ChangeLog *** 2014-05-09 Thomas Preud'homme <thomas.preudho...@arm.com> PR tree-optimization/54733 * gcc.dg/optimize-bswapdi-3.c: New test to check extension of bswap optimization to support memory sources and bitwise operations equivalent to load in host endianness. * gcc.dg/optimize-bswaphi-1.c: Likewise. * gcc.dg/optimize-bswapsi-2.c: Likewise. * gcc.c-torture/execute/bswap-2.c: Likewise. Ok for trunk? Best regards, Thomas > -----Original Message----- > From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches- > ow...@gcc.gnu.org] On Behalf Of Thomas Preud'homme > Sent: Monday, May 05, 2014 7:30 PM > To: GCC Patches > Subject: RE: [PATCH][2/3] Fix PR54733 Optimize endian independent > load/store > > I found a way to improve the function find_bswap/find_bswap_or_nop > and reduce its size. Please hold for the review, I will post an updated > version as soon as I finish testing. > > Best regards, > > Thomas Preud'homme > > >
gcc32rm-84.5.4.diff
Description: Binary data