|
From: John R. <jr...@Bi...> - 2008-06-17 19:43:39
|
> Why does the stack have to be aligned to 16 bytes in Valgrind? On x86, some of the SSEn instructions require 16-byte alignment. "Use of 128-bit packed integer computation instructions with memory operands that are not 16-byte aligned results in a general protection exception (#GP)." Section 11.6.11, Intel 64 and IA-32 Developer's Manual, Volume 1: Basic Architecture, http://www.intel.com/design/processor/manuals/253665.pdf In order for those instructions to work for local variables, then the stack frame itself must be 16-byte aligned so that the compiler has a reference point for alignment. -- |