Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-Id: <200305030420.h434KJ0Y128754@pimout2-ext.prodigy.net> Content-Type: text/plain; charset="iso-8859-1" From: Tim Prince Reply-To: tprince AT computer DOT org To: Kenn Heinrich , cygwin AT cygwin DOT com Subject: Re: SSE2 priviliged instruction exception Date: Fri, 2 May 2003 21:20:19 -0700 References: <3EB2F202 DOT 8080201 AT idirect DOT com> In-Reply-To: <3EB2F202.8080201@idirect.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit On Friday 02 May 2003 15:32, Kenn Heinrich wrote: > Hi, > > I couldn't find an answer on Google, so here goes: > > I get a privileged instruction exception on a P4 win 2K. The same > code (and more extensive use of SSE2) executes properly on > a pentium 4 redhat 8 box. gcc is 3.2 > > #include > #include > main() > { > __m128 k; > k = _mm_setzero_ps(); > printf("done\n"); > } > > and compile it with > > gcc -march=pentium4 -msse2 rtfm, even before Googling: 'info gcc' preferred-stack. Unfortunately, 'info malloc' lies on this topic, but that's not within the sphere of influence of gcc maintainers. Nor is this corner of gcc under the control of cygwin maintainers. On linux, you may have a 50/50 chance of being lucky with alignment; on Windows, maybe 25/75. You have not taken any measure to get the stack aligned before allocating memory. You could malloc() and adjust for an aligned pointer, or push the allocation down into a function. -- Tim Prince -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/