On Fri, Feb 28, 2014 at 08:47:56AM +0100, Bernd Edlinger wrote: > I see the problem too. > > But I think it is not necessary to change the stack alignment > to solve the problem. > > It appears to me that the code in asan_emit_stack_protection > is just wrong. It uses SImode when the memory is not aligned > enough for that mode. This would not happen if that code > is rewritten to use get_best_mode, and by the way, even on > x86_64 the emitted code is not optimal, because that target > could work with DImode more efficiently.
No, the use of SImode on x86_64 is very much intentional, movabsqs + movq are generally slower. > So, to fix that, it would be better to concentrate on that function, > and use word_mode instead of SImode, and let get_best_mode > choose the required mode. No. As I wrote earlier, the alternative is to use unaligned stores for ARM, I've asked Lin to benchmark that compared to his patch, but haven't seen that done yet. Jakub