Displaying 2 results from an estimated 2 matches for "bitcastvt".
Did you mean:
bitcast
2018 Nov 27
2
Vectorizer has trouble with vpmovmskb and store
...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 &&
> + !Subtarget.hasAVX512())
> + return false;
> +
> if (!Subtarget.hasDQI() && BitcastVT == MVT::v8i1)
> retur...
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>*