Hi, I'm currently investigating a crash [1] in Qt that was caused by introducing SSE2 optimized code. My best guess is that, when calling _mm_loadu_si128 , the generated assembly actually chokes on non-aligned data.
This is the code line (with annotated assembly, from gdb): __m128i a_data = _mm_loadu_si128((__m128i*)ptr); 0x6b7f7df4 <+0x0049> movdqa %xmm0,-0x28(%ebp) You see that the _mm_loadu_si128 call, that should work for non-aligned memory addresses, actually is is implemented with movdqa, which is " Move Aligned Double Quadword". So, do you think this is a bug, or am I on the wrong track here? If so, is it a gcc, or MinGW-w64 issue? Regards Kai PS: I've been able to reproduce this with both Mingw-builds i686-4.8.2-release-posix-dwarf-rt_v3-rev2 and Mingw-builds x32-4.7.2-release-posix-sjlj-rev8 . [1]: https://bugreports.qt-project.org/browse/QTBUG-36807 ------------------------------------------------------------------------------ Android apps run on BlackBerry 10 Introducing the new BlackBerry 10.2.1 Runtime for Android apps. Now with support for Jelly Bean, Bluetooth, Mapview and more. Get your Android app in front of a whole new audience. Start now. http://pubads.g.doubleclick.net/gampad/clk?id=124407151&iu=/4140/ostg.clktrk _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public