Oh, you may think my patch have not violated STRICT_ALIGNMENT.My patch doesn't realign stack_pointer,but virtual_stack_vars,although they may share the same position mostly. As you can see,the code emitted just make the stack 8 bytes aligned.
> You mean that for the prologues right now on ARM we emit unaligned > store insns during expansion and that they are later peepholed into > aligned stores? Yes.Because SImode is aligned to 4 bytes ,and str is considered aligned to 4 bytes on all ARM machine,so gcc doesn't consider itself emitting the unaligned str instructions in the first place.Of course aligned str can be peepholed into aligned str multiple. -- lin zuojian