Registered Member
|
Hey,
I'm trying to extend Eigen with some SSE Code. I found the What happens inside Eigen ... Page and found the packet method. What is the way to go here - I need a __m128 object ( 4 floats ) - i don't need to check if my computer supports the SSE Intrinsic. Would be nice if someone could give me a hint |
Moderator
|
I'm not sure to really understand your question. As an attempt, let me say that most of operations on an Array4f boils down to a single SSE instruction, like:
Array4f a, b, c; a = b + c; will compile as a movps + addps. |
Registered Member
|
thank you for the fast replay. Unfortunately my question was not precise enough.
I need to calculate the correlation with the respect of NaN's. I've found the stackoverflow post with the intrinsic source code and want to integrate this to my application. All my data is stored in Eigen objects. My question ist, is it possible to use the .packet method to access 4 packet floats ? Or is there a faster way of doing a loop with isnan checks ? UPDATE Is you're example possible with a Vector using 4 floats at once ? |
Moderator
|
It still unclear how you want to integrate this, but the simplest is to directly call the function given on SO:
|
Registered Member
|
how does eigen create the SSE instructions ?
From your example page
I want to create something similar to the + operator like in the example from the Eigen Page:
|
Registered users: Bing [Bot], Evergrowing, Google [Bot], rockscient