On Mon, 12 Mar 2012, Martin Jambor wrote: > Hi, > > when we expand a misaligned MEM_REF on the LHS, we must not call the > code in expand_expr_real_1 if the subsequent patch is applied, because > the code generates code extracting the contents of the memory to a > register, which is of course bad if the intent is to write into that > memory. Therefore expand_assignment should expand MEM_REFs itself, > just as it do when it encounters naked misaligned ones.
Just a quick comment here - the expand_expr_real_1 code needs to be guarded with exactly the same conditions as the misaligned LHS case to be able to call expand_expr on it and generate a naked MEM. So if that is not working you have a bug in the RHS side handling ;) Richard.