search for: shuffles

Displaying 20 results from an estimated 1232 matches for "shuffles".

Did you mean: shuffle
2020 Feb 07
2
[RFC] Extending shufflevector for vscale vectors (SVE etc.)
...at lists.llvm.org> > Subject: [EXT] Re: [llvm-dev] [RFC] Extending shufflevector for vscale vectors > (SVE etc.) > > On Jan 29, 2020, at 4:48 PM, Eli Friedman via llvm-dev <llvm- > dev at lists.llvm.org> wrote: > > > > Currently, for scalable vectors, only splat shuffles are allowed; we're > considering allowing more different kinds of shuffles. The issue is, > essentially, that a shuffle mask is a simple list of integers, and that isn't > enough to express a scalable operation. For example, concatenating two > fixed-length vectors currently l...
2020 Feb 08
2
[RFC] Extending shufflevector for vscale vectors (SVE etc.)
...you mentioned. > > Either way, it's a bunch of extra work if we intend to eventually unify the > two. I don't see any scenario under which we don't want to eventually unify > them. The operations I'm adding are semantically the same as the equivalent > fixed-width shuffles; we just can't represent the shuffle masks the same > way. And I think if we do end up changing the representation of scalable > shufflevectors later, we'll be able to autoupgrade the existing ones. > > It isn’t obvious to me that these need to be unified: we don’t have to a ha...
2015 Jan 25
4
[LLVMdev] RFB: Would like to flip the vector shuffle legality flag
...ler, > > On Fri, Jan 23, 2015 at 8:15 AM, Chandler Carruth <chandlerc at gmail.com> > wrote: > > Greetings LLVM hackers and x86 vector shufflers! > > > > I would like to flip on another chunk of the new vector shuffling, > > specifically the logic to mark ~all shuffles as "legal". > > > > This can be tested today with the flag > > "-x86-experimental-vector-shuffle-legality". I would essentially like to > > make this the default (by removing the "false" path). Doing this will > allow > > me to complete...
2020 Jan 30
7
[RFC] Extending shufflevector for vscale vectors (SVE etc.)
Currently, for scalable vectors, only splat shuffles are allowed; we're considering allowing more different kinds of shuffles. The issue is, essentially, that a shuffle mask is a simple list of integers, and that isn't enough to express a scalable operation. For example, concatenating two fixed-length vectors currently looks like this: shu...
2015 Jan 23
5
[LLVMdev] RFB: Would like to flip the vector shuffle legality flag
Greetings LLVM hackers and x86 vector shufflers! I would like to flip on another chunk of the new vector shuffling, specifically the logic to mark ~all shuffles as "legal". This can be tested today with the flag "-x86-experimental-vector-shuffle-legality". I would essentially like to make this the default (by removing the "false" path). Doing this will allow me to completely delete the old vector shuffle lowering. I've g...
2016 Oct 28
1
Vector Shuffle chain lowering to X86 instructions simplification inconsistencies
Hi all, Attached herewith is a fairly simple LLVM file (shuffle.ll) with lots of vector shuffles. When I use llc with -O3 -mcpu=core-avx2 the first shuffle sequence containing types of 128 wide gets reduced a single shuffle, where as the second shuffle sequence containing types of 256 wide doesn't get reduced to a single shuffle instruction in the resulting X86 code (Shuffle.s attached)....
2011 Apr 09
0
[LLVMdev] Long-Term ISel Design
...ll keep the existing pre-table-driven-isel passes so we'd >>> still have a chance to do some cleanup before the main table-driven >>> isel. >>> >>> Obviously a lot of details have to be worked out. >> >> I'm not seeing how this is useful for shuffles. Since tblgen doesn't >> generate table based matching for *any* shuffles, all of the matching >> code would end up as C++ code in X86ISelDagToDag, which would give us >> all of the problems we had before by moving to X86ISD nodes. > > bool X86TargetLowering::isShuffle...
2011 Mar 27
2
[LLVMdev] Long-Term ISel Design
...s: >> We would still keep the existing pre-table-driven-isel passes so we'd >> still have a chance to do some cleanup before the main table-driven >> isel. >> >> Obviously a lot of details have to be worked out. > > I'm not seeing how this is useful for shuffles. Since tblgen doesn't > generate table based matching for *any* shuffles, all of the matching > code would end up as C++ code in X86ISelDagToDag, which would give us > all of the problems we had before by moving to X86ISD nodes. Actually, it would be matching code in X86ISelLowering,...
2014 Sep 30
2
[LLVMdev] Please benchmark new x86 vector shuffle lowering, planning to make it the default very soon!
...ilps $0, %xmm0, %xmm0 # xmm0 = xmm0[0,0,0,0] > > Instead of: > (with -mcpu=corei7-avx) > vbroadcastss (%rdi), %xmm0 > > I have attached a small reproducible for it. > > Basically, the old shuffle lowering logic calls function > 'NormalizeVectorShuffle' to handle shuffles that perform a splat > operation. > On AVX, function 'NormalizeVectorShuffle' tries to lower a splat where > the splat value comes from a load into a X86ISD::VBROADCAST dag node. > Later on, during instruction selection, we emit a single avx_broadcast > for the load+splat seq...
2007 Apr 20
1
A particular shuffling on a vector
Hello, I was wondering if anyone can think of a straightforward way (without loops) to do the following shuffling: Let's imagine a vector: c(1,1,1,2,2,3,3,3) I would like to derive shuffled vectors __where the same digits are never separated__, although they can be at both ends (periodicity). So the following shuffled vectors are possible: c(2,2,1,1,1,3,3,3) c(2,1,1,1,3,3,3,2)
2009 Dec 18
2
[LLVMdev] AVX Shuffles & PatLeaf Help Needed
...; > works with Altivec? > > The basic idea is quite simple - lower everything to vNi8 and write > all the patterns using only these types. Yeah, I figured that out after thinking a bit more. However, I think in this case we only want to lower to vNi32 since there are no immediate-mask shuffles in X86 that operate on smaller element types. Doing it at the byte level would just be more confusing, I think. PSHUFB is really a completely different instruction than PSHUFD, for example. -Dave
2003 Nov 10
10
shuffling a vector
Hi, I'me trying to write a function that will shuffle a vector. At the moment I'm baically making a vector of randomized indices and then making a new vector from the original one using these random indices. However, is there an alternative (more elegant) method to do this? I tried help.search('shuffle') but it does'nt return anything relevant. Thanks,
2009 Dec 18
0
[LLVMdev] AVX Shuffles & PatLeaf Help Needed
...gt;> >> The basic idea is quite simple - lower everything to vNi8 and write >> all the patterns using only these types. > > Yeah, I figured that out after thinking a bit more. However, I think in this > case we only want to lower to vNi32 since there are no immediate-mask shuffles > in X86 that operate on smaller element types. Doing it at the byte level > would just be more confusing, I think. > > PSHUFB is really a completely different instruction than PSHUFD, for example. Aside from consuming one of its inputs, which is a regalloc problem, it isn't rea...
2011 Feb 10
3
Permuting rows of a matrix
Hi, I need to permute the rows of a matrix, where each row is independently rearranged. A simple solution is this: shuffled <- datamatrix <- matrix(1:24, ncol = 4) for (i in 1:nrow(datamatrix)) { shuffled[i, ] <- sample(datamatrix[i, ]) } > datamatrix [,1] [,2] [,3] [,4] [1,] 1 7 13 19 [2,] 2 8 14 20 [3,] 3 9 15 21 [4,] 4 10 16 22 [5,]
2014 Sep 23
2
[LLVMdev] Please benchmark new x86 vector shuffle lowering, planning to make it the default very soon!
On Tue, Sep 23, 2014 at 2:35 PM, Simon Pilgrim <llvm-dev at redking.me.uk> wrote: > If you don’t want to spend time on this, I’d be happy to create a > candidate patch for review? I’ve been unclear if you were taking patches > for your shuffle work prior to it becoming the default. While I'm happy to work on it, I'm even more happy to have patches. =D -------------- next
2015 Sep 04
3
Running tests on OS X 10.10 vs "Killed: 9"
Hi, building 'check-all' on any of my machines running OS X 10.10 usually fails because a few tests fail due to some processes being killed by the kernel (there's always "Killed: 9" somewhere in lit's error output). Everything's fine on 10.9. How do folks deal with this? Don't use 10.10 for building llvm? Is there some tweakable to tell the kernel "please
2016 Aug 29
2
IR canonicalization: vector select or shufflevector?
...-form and brings most online codeviewer apps to their knees when you try to open X86ISelLowering.cpp. :) Given that: 1. There are at least 2 targets that lean towards shuffle (Martin's comment + x86 uses lowerVSELECTtoVectorShuffle() for all cases like the example posted here) 2. Size-changing shuffles are easier to reason about with other shuffles (Michael's comment) 3. Insert/extract are easier to reason about with shuffles (Eli's comment in D22114) ...we should probably go with shuffle as the canonical encoding. Like Philip, I think the select is easier to read in IR (and mentally tra...
2009 Dec 17
3
[LLVMdev] AVX Shuffles & PatLeaf Help Needed
...uffle patterns and predicates in PPCInstrAltivec.td. What do you mean by, "Canonicalize to byte ops?" Can you walk me through how that works with Altivec? Since I'm rewriting all of the SSE patterns to clean them up and incorporate AVX functionality anyway, a complete rewrite of shuffles is not additional work. :) Thanks. -Dave
2012 Jun 15
0
argument "x" is missing, with no default - Please help find argument x
R programming question, not machine learning, although that's the content. Apologies to all for whom the following code is eye-burning. I am using foreach() to run a simulation on a randomForest model (actually conditional randomForest ... "party" package). The simulation is in two dimensions. examining how "mtry" and "ntrees" are related in terms of predictive
2014 Sep 10
13
[LLVMdev] Please benchmark new x86 vector shuffle lowering, planning to make it the default very soon!
On Tue, Sep 9, 2014 at 11:39 PM, Chandler Carruth <chandlerc at google.com> wrote: > Awesome, thanks for all the information! > > See below: > > On Tue, Sep 9, 2014 at 6:13 AM, Andrea Di Biagio <andrea.dibiagio at gmail.com> > wrote: >> >> You have already mentioned how the new shuffle lowering is missing >> some features; for example, you explicitly