------- Comment #4 from dannysmith at users dot sourceforge dot net  2006-09-23 
06:34 -------
(In reply to comment #2)

> In a way this is a dup of bug 27537.  Though there is an attribute to realign
> the stack in 4.2.0 so using that might just fix this issue instead.

Indeed,

5c5
< void dct64_sse(float *a,float *b,float *c)  
---
> void __attribute__ ((force_align_arg_pointer)) dct64_sse(float *a,float 
> *b,float *c)  

fixes on 4.2.

BTW, this issue has particular importance for mingw32 multithreaded programs,
since Win32 API CreateThread or the corresponding CRT _beginthreadex  functions
do  not guarantee that the stack will be 16-byte-aligned on entry to
the thread start-function callback. Marking the thread start function with
force_align_arg_pointer attribute fixes.  Hmm should that go in gcc.info? 

Danny


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28069

Reply via email to