From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10797 invoked by alias); 11 Oct 2002 01:06:02 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 10783 invoked by uid 71); 11 Oct 2002 01:06:01 -0000 Date: Thu, 10 Oct 2002 18:06:00 -0000 Message-ID: <20021011010601.10782.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Ian Ollmann Subject: Re: optimization/8049: SSE unaligned vector stores crash with -O0 Reply-To: Ian Ollmann X-SW-Source: 2002-10/txt/msg00439.txt.bz2 List-Id: The following reply was made to PR optimization/8049; it has been noted by GNATS. From: Ian Ollmann To: Jan Hubicka Cc: hubicka@gcc.gnu.org, , , Subject: Re: optimization/8049: SSE unaligned vector stores crash with -O0 Date: Thu, 10 Oct 2002 17:58:22 -0700 I think the problem is that the compiler is not properly padding data. _mm_store_ps is nearly unique in that its argument order is _mm_store_ps( float*, vector ); The 0x4 offset is to protect the float* that is written to the stack a few bytes earlier. The compiler needs to insert an extra 12 bytes of padding. In fact, it I swap the order of the arguments as follows: _mm_store_ps( vector, float*) then the crash goes away. Ian --------------------------------------------------- Ian Ollmann, Ph.D. iano@cco.caltech.edu ---------------------------------------------------