> I'd say there must be (wishful thinking) some expand_expr > modifier that guarantees this? Alternatively use > > reg = force_reg (mode, reg); > > instead of assign_stack_temp & emit_group_store? > > That said, I don't know very much about the fancy ways to handle > stores from PARALLEL - but doesn't PARALLEL mean we can just take > any of its members as source? How does 'reg' look like exactly > in your case? What does 'to' expand to?
No, PARALLEL describes a multi-register layout, typically a return value with aggregate type, and you need to use emit_group_store to decipher it properly. emit_group_store should already be able to handle misaligned stores I think. -- Eric Botcazou