optimization/8049: SSE unaligned vector stores crash with -O0

Ian Ollmann iano@cco.caltech.edu
Thu Oct 10 18:06:00 GMT 2002


The following reply was made to PR optimization/8049; it has been noted by GNATS.

From: Ian Ollmann <iano@cco.caltech.edu>
To: Jan Hubicka <jh@suse.cz>
Cc: hubicka@gcc.gnu.org, <gcc-bugs@gcc.gnu.org>, <gcc-prs@gcc.gnu.org>,
        <gcc-gnats@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
 ---------------------------------------------------
 



More information about the Gcc-prs mailing list