This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Misalignment of local SSE variables in thread function


Brian Dessent wrote:
> Jonathan Kinsey wrote:
> 
>> This is a problem that I've seen in the archives and is marked as not
>> being a problem with gcc.  I'm not sure what the solution is though, the
>> simple test below runs fine using the Microsoft compiler (on windows)
>> and fails using gcc (3.4.5) compiler.  There is no pthreads or glib code
>> here.
>>
>> The output shows that the second call to f(), in the thread, has a
>> misaligned s variable (which will crash in a SSE call).
> 
> You should be using _beginthreadex() instead, which ensures that the
> stack is 16 byte aligned.  <http://mingw.org/MinGWiki/index.php/threads>

Hi Brian,

Thanks for the link, unfortunately it doesn't work _beginthread just
calls _beginthreadex - unless there is a alignment argument I didn't see
(I tried it anyway and no luck).

If you read the end of the post at the link it says that it doesn't fix
a SSE problem that someone was having - at least I'm not on my own...

Jon



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]