Displaying 5 results from an estimated 5 matches for "ischeaptospeculatectlz".
2018 Nov 27
2
Vectorizer has trouble with vpmovmskb and store
...tonight or tomorrow.
>
> diff --git a/lib/Target/X86/X86ISelLowering.cpp
> b/lib/Target/X86/X86ISelLowering.cpp
> index e31f2a6..d79c0be 100644
> --- a/lib/Target/X86/X86ISelLowering.cpp
> +++ b/lib/Target/X86/X86ISelLowering.cpp
> @@ -4837,6 +4837,11 @@ bool X86TargetLowering::isCheapToSpeculateCtlz()
> const {
>
> bool X86TargetLowering::isLoadBitCastBeneficial(EVT LoadVT,
> EVT BitcastVT) const {
> + if (!LoadVT.isVector() && BitcastVT.isVector() &&
> + BitcastVT.getVectorElementType() == MVT::i1 &&...
2017 Jan 24
3
Early legalization pass ? Doing early legalization in an existing pass ?
...early seems like something that is more
likely to prevent optimizations than it is to encourage them.
But I guess I don't follow why things like TTI, TII and TLI queries don't
suffice for this. CodeGenPrepare will break this sequence up. I would
imagine that if the target returns false for isCheapToSpeculateCtlz() and
false for canInsertSelect(), the code would look the way you'd like it to.
But as I said, I'm mostly speculating here and I might be very wrong.
On Mon, Jan 23, 2017 at 5:02 PM, via llvm-dev <llvm-dev at lists.llvm.org>
wrote:
>
> > On Jan 23, 2017, at 4:06 AM, Amaur...
2018 Nov 26
2
Vectorizer has trouble with vpmovmskb and store
Hi all,
I've run into a case where the optimizer seems to be having trouble doing
the "obvious" thing.
Consider this code:
```
define i16 @foo(<8 x i16>* dereferenceable(16) %egress, <16 x i8> %a0) {
%a1 = icmp slt <16 x i8> %a0, zeroinitializer
%a2 = bitcast <16 x i1> %a1 to i16
%astore = getelementptr inbounds <8 x i16>, <8 x i16>*
2014 Dec 29
3
[LLVMdev] LLVM Weekly - #52, Dec 29th 2014
...ng.
[r224742](http://reviews.llvm.org/rL224742),
[r224798](http://reviews.llvm.org/rL224798).
* The masked load and store intrinsics have been documented.
[r224832](http://reviews.llvm.org/rL224832).
* CodeGenPrepare learned to speculate calls to llvm.cttz/ctlz (count
trailing/leading zeroes) if `isCheapToSpeculateCtlz/isCheapToSpeculatCttz` in
TargetLowering return true. [r224899](http://reviews.llvm.org/rL224899).
## Clang commits
* The Clang internals manual has been extended with stub sections on Parse,
Sema, and CodeGen. [r224894](http://reviews.llvm.org/rL224894).
## Other project commits
* The libcxx...
2017 Jan 23
2
Early legalization pass ? Doing early legalization in an existing pass ?
Hi all,
Some non trivial legalization of operations which aren't supported by the
backend would benefit from having the optimizer pass on them. I noticed
some example trying to optimize various pieces of code over the past weeks.
One offender is the cttz/ctlz intrinsic when defined on 0. On X86, BSR and
NSF are undefined on 0, and only recent CPU have the LZCNT and TZCNT
instructions that