search for: getregisterbitwidth

Displaying 20 results from an estimated 38 matches for "getregisterbitwidth".

2018 Jul 24
2
KNL Vectorization with larger vector width
Thank You. Right now to see the effect i did following changes; unsigned X86TTIImpl::getRegisterBitWidth(bool Vector) { if (Vector) { if (ST->hasAVX512()) return 65536; here i changed 512 to 65536. Then in loopvectorize.cpp i did following; assert(MaxVectorSize <= 2048 && "Did not expect to pack so many elements" " into one ve...
2018 Jul 23
2
KNL Vectorization with larger vector width
Thank You. I got it. Version issue. TTI.getRegisterBitWidth(true) How to put my target machine info in TTI? Please help. On Mon, Jul 23, 2018 at 11:33 PM, Friedman, Eli <efriedma at codeaurora.org> wrote: > On 7/23/2018 10:49 AM, hameeza ahmed via llvm-dev wrote: > > Thank You. > > But I cannot find your mentioned function LoopVecto...
2016 Mar 17
2
generate vectorized code
...e.com> wrote: > Hi Rail, > > Two hints to begin with: > > 1) Makes sure you example is vectorized on X86 for example > 2) Is your target correctly overriding the TTI (declaring the vector > register size for example) so that the vectorizer can kicks-in (see > X86TTIImpl::getRegisterBitWidth for instance). Alternatively you can test > the SLP vectorizer by passing to clang: -mllvm -slp-max-reg-size -mllvm 512 > (I don't see an equivalent option for the loop vectorizer though). > > Well, it sort of worked. I added a getRegisterBitWidth(...) but then I got this error: f...
2018 Jul 24
2
KNL Vectorization with larger vector width
...return 512; > } > return 256; > > > please help... > > On Tue, Jul 24, 2018 at 5:05 AM, hameeza ahmed <hahmed2305 at gmail.com> > wrote: > >> Thank You. >> Right now to see the effect i did following changes; >> >> unsigned X86TTIImpl::getRegisterBitWidth(bool Vector) { >> if (Vector) { >> if (ST->hasAVX512()) >> return 65536; >> >> here i changed 512 to 65536. Then in loopvectorize.cpp i did following; >> >> assert(MaxVectorSize <= 2048 && "Did not expect to pack so many elem...
2016 Mar 17
2
generate vectorized code
...il, >> >> Two hints to begin with: >> >> 1) Makes sure you example is vectorized on X86 for example >> 2) Is your target correctly overriding the TTI (declaring the vector >> register size for example) so that the vectorizer can kicks-in (see >> X86TTIImpl::getRegisterBitWidth for instance). Alternatively you can test >> the SLP vectorizer by passing to clang: -mllvm -slp-max-reg-size -mllvm 512 >> (I don't see an equivalent option for the loop vectorizer though). >> >> Well, it sort of worked. I added a getRegisterBitWidth(...) but then I &g...
2016 Jun 02
4
[GSoC 2016] Parameters of a target architecture
Dear LLVM contributors, I work on the "Improvement of vectorization process in Polly". At the moment I'm trying to implement tiling, interchanging and unrolling of specific loops based on the following algorithm for the analytical modeling [1]. It requires information about the following parameters of a target architecture: 1. Size of double-precision floating-point number. 2.
2013 Nov 15
6
[LLVMdev] Limit loop vectorizer to SSE
..., 2013, at 12:36 PM, Renato Golin <renato.golin at linaro.org> wrote: > On 15 November 2013 20:24, Joshua Klontz <josh.klontz at gmail.com> wrote: > Agreed, is there a pass that will insert a runtime alignment check? Also, what's the easiest way to get at TargetTransformInfo::getRegisterBitWidth() so I don't have to hard code 32? Thanks! > > I think that's a fair question, and it's about safety. If you're getting this on the JIT, means we may be generating unsafe transformations on the vectorizer. > > Arnold, Nadav, I don't remember seeing code to generate...
2013 Nov 15
2
[LLVMdev] Limit loop vectorizer to SSE
Agreed, is there a pass that will insert a runtime alignment check? Also, what's the easiest way to get at TargetTransformInfo::getRegisterBitWidth() so I don't have to hard code 32? Thanks! -Josh On Fri, Nov 15, 2013 at 3:20 PM, Frank Winter <fwinter at jlab.org> wrote: > Hmm.. I don't quite understand. How can a module validator > catch this, when it's the pointers, i.e. the payload, you pass > as function argu...
2018 Jul 23
2
KNL Vectorization with larger vector width
...for this? > > > I believe that the thing that you're trying to affect is this: > > LoopVectorizationCostModel::computeFeasibleMaxVF(bool OptForSize, > unsigned ConstTripCount) > { > ... > unsigned WidestRegister = TTI.getRegisterBitWidth(true); > > > and so your target's TargetTransformInfo class should return an > appropriate value from getRegisterBitWidth. > > -Hal > > > > Please help > > Thank You > Regards > > > > > _______________________________________________ > L...
2016 Mar 18
3
generate vectorized code
...with: >>>> >>>> 1) Makes sure you example is vectorized on X86 for example >>>> 2) Is your target correctly overriding the TTI (declaring the vector >>>> register size for example) so that the vectorizer can kicks-in (see >>>> X86TTIImpl::getRegisterBitWidth for instance). Alternatively you can test >>>> the SLP vectorizer by passing to clang: -mllvm -slp-max-reg-size -mllvm 512 >>>> (I don't see an equivalent option for the loop vectorizer though). >>>> >>>> Well, it sort of worked. I added a getReg...
2013 Nov 15
0
[LLVMdev] Limit loop vectorizer to SSE
...Golin <renato.golin at linaro.org> > wrote: > > On 15 November 2013 20:24, Joshua Klontz <josh.klontz at gmail.com> wrote: > >> Agreed, is there a pass that will insert a runtime alignment check? Also, >> what's the easiest way to get at TargetTransformInfo::getRegisterBitWidth() >> so I don't have to hard code 32? Thanks! >> > > I think that's a fair question, and it's about safety. If you're getting > this on the JIT, means we may be generating unsafe transformations on the > vectorizer. > > Arnold, Nadav, I don't rememb...
2016 Mar 16
2
generate vectorized code
My question is: How do I make clang to generate assembly with vector instruction for my target? The back story is: I've added a few vector instructions to my target and confirmed that they are used by running my code on the test below and using a following command: opt i.esencia.ll -S -march=esencia -mcpu=esencia -loop-vectorize | llc -mcpu=esencia -o i.esencia.s target datalayout =
2017 Nov 01
5
RFC: [X86] Introducing command line options to prefer narrower vector instructions even when wider instructions are available
...etFeatures in X86.td not mapped to any CPU. -Add mprefer-avx256 and mprefer-avx128 and the corresponding -mno-prefer-avx128/256 options to clang's driver Options.td file. I believe this will allow clang to pass these straight through to the -target-feature attribute in IR. -Modify X86TTIImpl::getRegisterBitWidth to only return 512 if AVX512 is enabled and prefer-avx256 and prefer-avx128 is not set. Similarly return 256 if AVX is enabled and prefer-avx128 is not set. There may be some other backend changes needed, but I plan to address those as we find them. At a later point, consider making -mprefer-a...
2013 Nov 15
4
[LLVMdev] Limit loop vectorizer to SSE
...:36 PM, Renato Golin <renato.golin at linaro.org> wrote: > >> On 15 November 2013 20:24, Joshua Klontz <josh.klontz at gmail.com> wrote: >> Agreed, is there a pass that will insert a runtime alignment check? Also, what's the easiest way to get at TargetTransformInfo::getRegisterBitWidth() so I don't have to hard code 32? Thanks! >> >> I think that's a fair question, and it's about safety. If you're getting this on the JIT, means we may be generating unsafe transformations on the vectorizer. >> >> Arnold, Nadav, I don't remember seeing...
2013 Nov 15
0
[LLVMdev] Limit loop vectorizer to SSE
On 15 November 2013 20:24, Joshua Klontz <josh.klontz at gmail.com> wrote: > Agreed, is there a pass that will insert a runtime alignment check? Also, > what's the easiest way to get at TargetTransformInfo::getRegisterBitWidth() > so I don't have to hard code 32? Thanks! > I think that's a fair question, and it's about safety. If you're getting this on the JIT, means we may be generating unsafe transformations on the vectorizer. Arnold, Nadav, I don't remember seeing code to generate any run-t...
2013 Nov 15
2
[LLVMdev] Limit loop vectorizer to SSE
...:36 PM, Renato Golin <renato.golin at linaro.org> wrote: > >> On 15 November 2013 20:24, Joshua Klontz <josh.klontz at gmail.com> wrote: >> Agreed, is there a pass that will insert a runtime alignment check? Also, what's the easiest way to get at TargetTransformInfo::getRegisterBitWidth() so I don't have to hard code 32? Thanks! >> >> I think that's a fair question, and it's about safety. If you're getting this on the JIT, means we may be generating unsafe transformations on the vectorizer. >> >> Arnold, Nadav, I don't remember seeing...
2013 Nov 19
0
[LLVMdev] Limit loop vectorizer to SSE
...ber 2013 20:24, Joshua Klontz <josh.klontz at gmail.com >> <mailto:josh.klontz at gmail.com>> wrote: >> >> Agreed, is there a pass that will insert a runtime alignment >> check? Also, what's the easiest way to get at >> TargetTransformInfo::getRegisterBitWidth() so I don't have to >> hard code 32? Thanks! >> >> >> I think that's a fair question, and it's about safety. If you're >> getting this on the JIT, means we may be generating unsafe >> transformations on the vectorizer. >> >> Arn...
2013 Nov 15
0
[LLVMdev] Limit loop vectorizer to SSE
...rote: > > > >> On 15 November 2013 20:24, Joshua Klontz <josh.klontz at gmail.com> > >> wrote: > >> Agreed, is there a pass that will insert a runtime alignment > >> check? Also, what's the easiest way to get at > >> TargetTransformInfo::getRegisterBitWidth() so I don't have to > >> hard code 32? Thanks! > >> > >> I think that's a fair question, and it's about safety. If you're > >> getting this on the JIT, means we may be generating unsafe > >> transformations on the vectorizer. > >&...
2013 Nov 15
2
[LLVMdev] Limit loop vectorizer to SSE
...>>>> On 15 November 2013 20:24, Joshua Klontz <josh.klontz at gmail.com> >>>> wrote: >>>> Agreed, is there a pass that will insert a runtime alignment >>>> check? Also, what's the easiest way to get at >>>> TargetTransformInfo::getRegisterBitWidth() so I don't have to >>>> hard code 32? Thanks! >>>> >>>> I think that's a fair question, and it's about safety. If you're >>>> getting this on the JIT, means we may be generating unsafe >>>> transformations on the vectori...
2013 Nov 16
0
[LLVMdev] Limit loop vectorizer to SSE
...ato Golin <renato.golin at linaro.org> wrote: >> >>> On 15 November 2013 20:24, Joshua Klontz <josh.klontz at gmail.com> wrote: >>> Agreed, is there a pass that will insert a runtime alignment check? Also, what's the easiest way to get at TargetTransformInfo::getRegisterBitWidth() so I don't have to hard code 32? Thanks! >>> >>> I think that's a fair question, and it's about safety. If you're getting this on the JIT, means we may be generating unsafe transformations on the vectorizer. >>> >>> Arnold, Nadav, I don't re...