<p dir="ltr">Yes please! having theseĀ  (for valid target arches/ CPU targets) would be really really valuable for me. <br></p>
<p dir="ltr">On Feb 13, 2013 12:07 AM, &quot;Michael Baikov&quot; &lt;<a href="mailto:manpacket@gmail.com">manpacket@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; Recently merged vector primops support only 16 bytes operands - Int32<br>
&gt; x 4, Double x 2 and so on. Current AVX instructions support 256 bit<br>
&gt; operands and with simple cut&#39;n&#39;paste work it&#39;s possible to support at<br>
&gt; least Double x 4 operands. I made those changes and GHC generates<br>
&gt; (using llvm) proper AVX code using ymm registers. Also it might make<br>
&gt; sense to support primops for vector types larger than any currently<br>
&gt; supported primitive types - I have those changes in my branch as well<br>
&gt; and llvm generates pretty good code as well - those changes might be<br>
&gt; useful to provide access for llvm shufflevector instruction or writing<br>
&gt; high performance processing of large vectors - with less potential<br>
&gt; overhead.<br>
&gt;<br>
&gt; Do we want to support larger vectors directly or ghc should be made<br>
&gt; smart enough to fuse operations with vector primops performed in<br>
&gt; parallel into larger vectors/registers for llvm? Do we want to provide<br>
&gt; access to llvm shufflevector instruction?<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; ghc-devs mailing list<br>
&gt; <a href="mailto:ghc-devs@haskell.org">ghc-devs@haskell.org</a><br>
&gt; <a href="http://www.haskell.org/mailman/listinfo/ghc-devs">http://www.haskell.org/mailman/listinfo/ghc-devs</a><br>
</p>