------- Comment #2 from hjl dot tools at gmail dot com 2010-04-07 05:42 ------- i386.c has
tmp_reg = gen_reg_rtx (Pmode); emit_insn (gen_rtx_SET (VOIDmode, tmp_reg, plus_constant (save_area, ix86_varargs_gpr_size + 127))); mem = gen_rtx_MEM (BLKmode, plus_constant (tmp_reg, -127)); MEM_NOTRAP_P (mem) = 1; set_mem_alias_set (mem, set); set_mem_align (mem, BITS_PER_WORD); /* And finally do the dirty job! */ emit_insn (gen_sse_prologue_save (mem, nsse_reg, GEN_INT (cum->sse_regno), label)); We pass 64bit aligned memory to sse_prologue_save_insn which uses movaps on 64bit aligned memory. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43668