------- Comment #1 from ubizjak at gmail dot com 2008-03-21 20:53 ------- (In reply to comment #0) > ix86_function_arg_boundary returns PARM_BOUNDARY for TDmode > for ia32. Should it return 128bit? The psABI isn't clear on > it. I think it should be aligned at 128bit.
Yes, because it is moved to/from XMM registers. Currently, this exact problem is handled by a specialization code in ix86_expand_vector_move that forces unaligned instructions for TDmode memory moves via ix86_expand_vector_move_misalign. Please note that we have to be compatible with SSE x86 and non-SSE x86 code, so TDmode can't be passed in XMM registers on x86_32 targets. I'd wait for psABI to clear situation w.r.t to alignment first. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35657