vector Cross/Dot using core.simd?

F i L witte2008 at gmail.com
Sun Aug 12 01:43:24 PDT 2012


Sean Cavanaugh wrote:
> Some reference:
>
> C++ simd intrinsic for dot product (requires SSE 4.1, very 
> modern)
> _mm_dp_ps

Good to know, thanks!


> C++ simd instrinsic for horizontal add (requires SSE3, also 
> reasonably modern)
> _mm_hadd_ps

Awesome, I see XMM.HADDPS (amoung others) in core.simd now, 
thanks again!


> If you are on SSE2 (which is the base spec for x64) and also 
> the minimum CPU target we use at work for commercial game 
> development, you are stuck doing shuffles and adds for dot 
> product, which effectively process these operations as scalar).
>
> Ideally one of the sides of the dot product is an array and you 
> can vectorize the dot product itself (1 vector vs 4 others, or 
> 4 v 4).  This is common when setting up shapes like view 
> frustum culling (point tested against 6-8 extruded planes in an 
> array)

Thanks for the info.


More information about the Digitalmars-d-learn mailing list