Does PhysX support targeting SSE1 instruction set level only? With that,
Emscripten should currently build ok~ish modulo a few NaN canonicalization
issues.

2015-09-03 17:05 GMT+03:00 Robert Goulet <[email protected]>:

> 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]>:
>>
>>> @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].
>>> 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.

Reply via email to