Hi, this is another iteration of my attempts to fix expansion of misaligned memory accesses on strict-alignment platforms (which was suggested by Richi in http://gcc.gnu.org/ml/gcc-patches/2011-08/msg00931.html and my first attempt was posted as http://gcc.gnu.org/ml/gcc-patches/2012-01/msg00319.html).
This time I got further, to big extent thanks to parts of Richi's fixes of PR 50444 which cleaned up expr.c considerably. I have successfully bootstrapped the combined patch on x86_64-linux, i686-linux, ia64-linux (without Ada) and sparc64-linux (without Java). I have run the c and c++ testsuites on individual patches on sparc64 and ia64 too. Nevertheless, since I still lack experience in this area, there will almost certainly be comments and suggestions and therefore I have divided the three main changes to three different patches, so that they are easier to comment on by both me and anybody reviewing them. Thanks in advance for any comments, Martin