Vector primops sizes
simonpj at microsoft.com
Wed Feb 13 08:44:39 CET 2013
I believe Geoff is working on adding AVX. I expect he’d be interested in your patches.
From: ghc-devs-bounces at haskell.org [mailto:ghc-devs-bounces at haskell.org] On Behalf Of Carter Schonwald
Sent: 13 February 2013 05:59
To: Michael Baikov
Cc: ghc-devs at haskell.org
Subject: Re: Vector primops sizes
Yes please! having these (for valid target arches/ CPU targets) would be really really valuable for me.
On Feb 13, 2013 12:07 AM, "Michael Baikov" <manpacket at gmail.com<mailto:manpacket at gmail.com>> wrote:
> Recently merged vector primops support only 16 bytes operands - Int32
> x 4, Double x 2 and so on. Current AVX instructions support 256 bit
> operands and with simple cut'n'paste work it's possible to support at
> least Double x 4 operands. I made those changes and GHC generates
> (using llvm) proper AVX code using ymm registers. Also it might make
> sense to support primops for vector types larger than any currently
> supported primitive types - I have those changes in my branch as well
> and llvm generates pretty good code as well - those changes might be
> useful to provide access for llvm shufflevector instruction or writing
> high performance processing of large vectors - with less potential
> Do we want to support larger vectors directly or ghc should be made
> smart enough to fuse operations with vector primops performed in
> parallel into larger vectors/registers for llvm? Do we want to provide
> access to llvm shufflevector instruction?
> ghc-devs mailing list
> ghc-devs at haskell.org<mailto:ghc-devs at haskell.org>
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the ghc-devs