Awesome! Thanks for the fix. I was hoping to use SSE2 for my PhysX build but that can wait a bit, for now I'll allow it to run without vector intrinsics.
On Thursday, September 3, 2015 at 9:34:58 AM UTC-4, jj wrote: > > Thanks! Fixed this in > https://github.com/kripken/emscripten/commit/b569e7e1dfa9f4ef5fbfaf44b16daccc57aa632b > > . Note that SSE2 compiled code will currently most likely not work except > in debug builds, since our optimizer does not yet understand all SSE2 > vector types, and because LLVM performs some optimizations that aren't > compatible with SIMD.js. SSE1 should work in both debug and optimized > release builds. To target SSE1, one uses -msse, and to target SSE2, use > -msse2. To enable LLVM autovectorization without explicit use of > intrinsics, one can use -s SIMD=1. > > 2015-09-01 17:54 GMT+03:00 Robert Goulet <[email protected] > <javascript:>>: > >> @jj where you able to get past this error when building PhysX 3.3.3 with >> SSE2 support using latest incoming? >> >> D:/dev/project/source/physx/webgl/Source/foundation/include/unix/sse2/PsUnixSse2InlineAoS.h:2880:9: >> >> error: first two arguments to __builtin_shuffleve >> ctor must be vectors >> return _mm_shuffle_ps(a, a, _MM_SHUFFLE(3,3,3,3)); >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> D:\dev\project\lib\emscripten-incoming-r0\emscripten\incoming\system\include\emscripten\xmmintrin.h:141:12: >> >> note: expanded from macro '_mm_shuffle_ps >> ' >> ((__m128)__builtin_shufflevector((a), (b), \ >> ^ ~~~~~~~~ >> >> Am I missing an Emscripten compile flag? So far the only SSE2 related >> flag I used is -msse2 at compile time. >> >> On Friday, August 28, 2015 at 1:43:44 PM UTC-4, Robert Goulet wrote: >>> >>> Yes that's exactly what I just did. Now just missing SSE2. :) I've seen >>> the commits in incoming branch, but I'll wait until 1.34.7 is out before I >>> try it. Thanks guys! >>> >>> On Friday, August 28, 2015 at 12:23:12 PM UTC-4, jj wrote: >>>> >>>> I just recently ported PhysX to build on Emscripten after the removal >>>> of syscalls. You see there that there's posix-specific paths that can be >>>> used instead, which Emscripten likes better. Instead of >>>> syscall(SYS_gettid) >>>> , you can call pthread_self(), and Emscripten does not have a concept of >>>> thread affinity, so that can be commented out (behave like the Apple/Qnx >>>> path). >>>> >>>> >>>> 2015-08-28 2:10 GMT+03:00 Alon Zakai <[email protected]>: >>>> >>>>> There might be more standard ways to do that, I believe pthreads lets >>>>> you access the current thread's id, etc. Using those should work (to the >>>>> extent that we support those features - we don't have a way to support >>>>> affinity AFAIK). >>>>> >>>>> On Thu, Aug 27, 2015 at 2:34 PM, Robert Goulet <[email protected]> >>>>> wrote: >>>>> >>>>>> I'm not sure this is really important, it's used by PhysX 3.3.3 to >>>>>> retrieve thread id and manage affinity. I don't think this will prevent >>>>>> the >>>>>> library from running properly (perhaps slightly less optimal), so for >>>>>> now I >>>>>> would guess it's not really needed. But it's good to hear that the >>>>>> change >>>>>> was intended on Emscripten side. :) >>>>>> >>>>>> The calls refer to these ids: >>>>>> >>>>>> syscall(__NR_gettid); >>>>>> syscall(__NR_sched_getaffinity, ...); >>>>>> >>>>>> Thanks for the quick reply! >>>>>> >>>>>> >>>>>> On Thursday, August 27, 2015 at 4:43:36 PM UTC-4, Alon Zakai wrote: >>>>>>> >>>>>>> Yes, we don't support direct syscalls by the user any more. Those >>>>>>> are dynamic, and would require us to link in all the possible syscall >>>>>>> targets. We avoid that code size increase by linking in syscalls >>>>>>> statically. >>>>>>> >>>>>>> Do you actually need syscall() to work? We might be able to add an >>>>>>> option for that. >>>>>>> >>>>>>> On Thu, Aug 27, 2015 at 1:35 PM, Robert Goulet < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Looks like the function syscall is no longer available when using >>>>>>>> Emscripten 1.34.6? >>>>>>>> >>>>>>>> It used to be found in Emscripten 1.34.1, is this intended? >>>>>>>> >>>>>>>> Thanks! >>>>>>>> >>>>>>>> -- >>>>>>>> You received this message because you are subscribed to the Google >>>>>>>> Groups "emscripten-discuss" group. >>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>> send an email to [email protected]. >>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>> >>>>>>> >>>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "emscripten-discuss" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to [email protected]. >>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>> >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "emscripten-discuss" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to [email protected]. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> -- >> You received this message because you are subscribed to the Google Groups >> "emscripten-discuss" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
