#3557: CPU Vector instructions in GHC.Prim
---------------------------------+------------------------------------------
Reporter: guest | Owner: vivian
Type: feature request | Status: new
Priority: normal | Milestone: _|_
Component: Compiler (NCG) | Version: 6.11
Keywords: | Testcase:
Blockedby: | Difficulty: Unknown
Os: Unknown/Multiple | Blocking:
Architecture: Unknown/Multiple | Failure: None/Unknown
---------------------------------+------------------------------------------
Comment(by guest):
Replying to [comment:15 vivian]:
> Replying to [comment:13 guest]:
> > What operations on Complex would benefit from vector operations? In my
experience it is more useful to do the vectorization at another level: If
you have four Complex Float values, then put the real parts into one SSE
vector and the imaginary parts into another SSE vector. Multiplication is
then still
> > {{{
> > cr = ar*br - ai*bi
> > ci = ar*bi + ai*br
> > }}}
> SSE has shuffling and add/sub operations: ADDSUB {A0, A1} {B0, B1} =
{A0+B0,A1-B1} ; ci, cr
Sure, but what you save by doing two multiplications at a time, you will
lose by permanent shuffling.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/3557#comment:19>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs