reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

gen/lib/Target/X86/X86GenDAGISel.inc
253372   case 16: return (Subtarget->hasAVX() && !Subtarget->hasAVX2());
253373   case 17: return (Subtarget->hasAVX2()) && (!Subtarget->hasVLX());
253385   case 29: return (Subtarget->hasAVX2());
253475   case 119: return (Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI());
253549   case 193: return (Subtarget->hasAVX2()) && (true);
253551   case 195: return (Subtarget->hasAVX() && !Subtarget->hasAVX2()) && (MF->getFunction().hasMinSize());
gen/lib/Target/X86/X86GenFastISel.inc
   63   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
   99   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
  135   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 1544   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 1578   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 1614   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 1682   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 1705   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 1760   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 2261   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 2295   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 2331   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 2392   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 2415   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 2470   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 4231   if ((Subtarget->hasAVX2())) {
 4931   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 4941   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 4967   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 4977   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 5003   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 5013   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 5039   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 5049   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 5075   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 5085   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 5121   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 6034   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 6070   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 6106   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 6142   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 6262   if ((Subtarget->hasAVX() && !Subtarget->hasAVX2())) {
 6265   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 6301   if ((Subtarget->hasAVX() && !Subtarget->hasAVX2())) {
 6304   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 6337   if ((Subtarget->hasAVX() && !Subtarget->hasAVX2())) {
 6340   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 6376   if ((Subtarget->hasAVX() && !Subtarget->hasAVX2())) {
 6382   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 6995   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 7031   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 7115   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 7162   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 7269   if ((Subtarget->hasAVX() && !Subtarget->hasAVX2())) {
 7272   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 7308   if ((Subtarget->hasAVX() && !Subtarget->hasAVX2())) {
 7311   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 7344   if ((Subtarget->hasAVX() && !Subtarget->hasAVX2())) {
 7347   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 7383   if ((Subtarget->hasAVX() && !Subtarget->hasAVX2())) {
 7389   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 7631   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 7667   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 7733   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 7769   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 7805   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 7888   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 7924   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 7960   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 8075   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 8111   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 8185   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 8221   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 8257   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 8293   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 8353   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 8389   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 8439   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 8475   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 8511   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 8594   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 8630   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 8666   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 8749   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 8785   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 8895   if ((Subtarget->hasAVX() && !Subtarget->hasAVX2())) {
 8898   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 8934   if ((Subtarget->hasAVX() && !Subtarget->hasAVX2())) {
 8937   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 8970   if ((Subtarget->hasAVX() && !Subtarget->hasAVX2())) {
 8973   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 9009   if ((Subtarget->hasAVX() && !Subtarget->hasAVX2())) {
 9015   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 9133   if ((Subtarget->hasAVX() && !Subtarget->hasAVX2())) {
 9136   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 9172   if ((Subtarget->hasAVX() && !Subtarget->hasAVX2())) {
 9175   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 9208   if ((Subtarget->hasAVX() && !Subtarget->hasAVX2())) {
 9211   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 9247   if ((Subtarget->hasAVX() && !Subtarget->hasAVX2())) {
 9253   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
 9309   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
 9345   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
10759   if ((Subtarget->hasAVX2())) {
10780   if ((Subtarget->hasAVX2())) {
10813   if ((Subtarget->hasAVX2())) {
10834   if ((Subtarget->hasAVX2())) {
11113   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
11198   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
11234   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
11284   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
11320   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
11364   if ((Subtarget->hasAVX2()) && (true)) {
11385   if ((Subtarget->hasAVX2()) && (true)) {
11406   if ((Subtarget->hasAVX2()) && (true)) {
11427   if ((Subtarget->hasAVX2())) {
11464   if ((Subtarget->hasAVX2()) && (true)) {
11485   if ((Subtarget->hasAVX2()) && (true)) {
11506   if ((Subtarget->hasAVX2()) && (true)) {
11527   if ((Subtarget->hasAVX2())) {
11570   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
11617   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
11664   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
11711   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
12141   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
12177   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
12210   if ((Subtarget->hasAVX() && !Subtarget->hasAVX2())) {
12216   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
12249   if ((Subtarget->hasAVX() && !Subtarget->hasAVX2())) {
12255   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
12389   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
12425   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
12458   if ((Subtarget->hasAVX() && !Subtarget->hasAVX2())) {
12464   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
12497   if ((Subtarget->hasAVX() && !Subtarget->hasAVX2())) {
12503   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
12744   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
12816   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
12863   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI())) {
13112   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
13124   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
13145   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
13157   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
13272   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
13284   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
13432   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
13444   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
13465   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
13477   if ((Subtarget->hasAVX2()) && (!Subtarget->hasVLX())) {
gen/lib/Target/X86/X86GenGlobalISel.inc
  193   if (Subtarget->hasAVX2())
  195   if (Subtarget->hasAVX() && !Subtarget->hasAVX2())
lib/Target/X86/X86FastISel.cpp
  322   bool HasAVX2 = Subtarget->hasAVX2();
lib/Target/X86/X86ISelDAGToDAG.cpp
  503         return Subtarget->hasAVX2();
lib/Target/X86/X86ISelLowering.cpp
 5107   if (Subtarget.hasAVX2())
 5620   } else if (Subtarget.hasAVX2()) {
 8004       if (!Subtarget.hasAVX2() && ScalarSize < 32)
 8221         if (SplatBitSize <= 64 && Subtarget.hasAVX2() &&
 8317   if (ConstSplatVal && (Subtarget.hasAVX2() || OptForSize)) {
 8326         (OptForSize && (ScalarSize == 64 || Subtarget.hasAVX2()))) {
 9081       ((VT == MVT::v16i16 || VT == MVT::v8i32) && Subtarget.hasAVX2())) {
 9431     if (Subtarget.hasAVX2())
 9790   if (Subtarget.hasAVX2() && EVTBits == 32 && Values.size() == 2) {
10549          (Subtarget.hasAVX2() && VT.is256BitVector()) ||
11054     assert(Subtarget.hasAVX2() && "256-bit integer blends require AVX2!");
11069     assert(Subtarget.hasAVX2() && "v16i16 blends require AVX2!");
11098     assert(Subtarget.hasAVX2() && "256-bit byte-blends require AVX2!");
11294       (VT.is256BitVector() && !Subtarget.hasAVX2()) ||
12364   assert(Subtarget.hasAVX2() &&
12495         (Subtarget.hasAVX2() && VT.isInteger())))
12502   unsigned Opcode = (VT == MVT::v2f64 && !Subtarget.hasAVX2())
12505   bool BroadcastFromReg = (Opcode == X86ISD::MOVDDUP) || Subtarget.hasAVX2();
12593       Opcode = (BroadcastVT.is128BitVector() && !Subtarget.hasAVX2())
12944   if (Subtarget.hasAVX2())
13023   if (Subtarget.hasAVX2())
13223   if (Subtarget.hasAVX2())
13314   if (Subtarget.hasAVX2())
14770   if (!Subtarget.hasAVX2()) {
14817   if (Subtarget.hasAVX2() && V2.isUndef())
15236       if (Subtarget.hasAVX2()) {
15267     if (Subtarget.hasAVX2() && EltWidth == 64)
15309   if (Subtarget.hasAVX2()) {
15362   int SubLaneScale = Subtarget.hasAVX2() && VT.is256BitVector() ? 2 : 1;
15607     if (Subtarget.hasAVX2())
15656   if (!(Subtarget.hasAVX2() && (isShuffleMaskInputInPlace(0, Mask) ||
15670   if (Subtarget.hasAVX2())
15690   assert(Subtarget.hasAVX2() && "We can only lower v4i64 with AVX2!");
15837     if (Subtarget.hasAVX2())
15867   if (Subtarget.hasAVX2())
15887   assert(Subtarget.hasAVX2() && "We can only lower v8i32 with AVX2!");
15998   assert(Subtarget.hasAVX2() && "We can only lower v16i16 with AVX2!");
16098   assert(Subtarget.hasAVX2() && "We can only lower v32i8 with AVX2!");
16214   if (VT.isInteger() && !Subtarget.hasAVX2()) {
17263     if (Subtarget.hasAVX2())
17590           (Subtarget.hasAVX2() && EltVT == MVT::i32)) {
25744   if (VT == MVT::v8i16 && !Subtarget.hasAVX2()) {
26305   if (VT.is256BitVector() && !Subtarget.hasAVX2())
26310            Subtarget.hasAVX2())) &&
26391   if (IsSplatAmt || LegalVarShifts || (Subtarget.hasAVX2() && !ConstantAmt)) {
27562   assert(Subtarget.hasAVX2() &&
28968   if (Subtarget.hasAVX2() && (Bits == 32 || Bits == 64))
29153   if (!Subtarget.hasAVX2())
31964       if (Subtarget.hasAVX2() && MaskVT.is256BitVector()) {
32050                          (MaskVT.is256BitVector() && Subtarget.hasAVX2()))) {
32117       (MaskVT.is256BitVector() && Subtarget.hasAVX2()) ||
32122       if (MaskVT.is256BitVector() && !Subtarget.hasAVX2())
32141                          (MaskVT.is256BitVector() && Subtarget.hasAVX2()))) {
32154       (MaskVT == MVT::v16i16 && Subtarget.hasAVX2())) {
32325                      (RootVT.is256BitVector() && !Subtarget.hasAVX2());
32361       !(Subtarget.hasAVX2() && BaseMask[0] >= -1 && BaseMask[1] >= -1) &&
32410                         (!MaskVT.is256BitVector() || Subtarget.hasAVX2());
32437     if ((Subtarget.hasAVX2() || (Subtarget.hasAVX() && 32 <= MaskEltSizeInBits))
32450         if (Subtarget.hasAVX2()) {
32559         ((Subtarget.hasAVX2() &&
32714        (RootVT.is256BitVector() && Subtarget.hasAVX2()) ||
33976   if (!Subtarget.hasAVX2() || !isa<ShuffleVectorSDNode>(N))
36765   if (VT == MVT::v32i8 && !Subtarget.hasAVX2())
39841   case MVT::v4i64: if (!Subtarget.hasAVX2()) return SDValue(); break;
41077   if (!Subtarget.hasSSE2() || Subtarget.hasAVX2())
44308         (Subtarget.hasAVX2() || MayFoldLoad(Op0.getOperand(0))))
44316         (Subtarget.hasAVX2() ||
44601   if (Subtarget.hasAVX() && !Subtarget.hasAVX2() &&
45194   if (SrcVT.getScalarSizeInBits() == 32 || !Subtarget.hasAVX2())
lib/Target/X86/X86InstrInfo.cpp
 6601       if (!Is256 || Subtarget.hasAVX2())
 6711         if (Subtarget.hasAVX2()) {
 6833       validDomains = Subtarget.hasAVX2() ? 0xe : 0x6;
 6839       if (!Subtarget.hasAVX2())
 6871     assert((Subtarget.hasAVX2() || Domain < 3) &&
 6881     assert(Subtarget.hasAVX2() &&
lib/Target/X86/X86LegalizerInfo.cpp
  413   if (!Subtarget.hasAVX2())
lib/Target/X86/X86SpeculativeLoadHardening.cpp
 2042       assert(Subtarget->hasAVX2() && "AVX2-specific register classes!");
lib/Target/X86/X86Subtarget.cpp
  302   if (hasAVX512() || (hasAVX2() && hasFastGather()))
lib/Target/X86/X86Subtarget.h
  593   bool hasInt256() const { return hasAVX2(); }
lib/Target/X86/X86TargetTransformInfo.cpp
  324       ST->hasAVX2()) {
  399       ST->hasAVX2()) {
  455   if (ST->hasAVX2() &&
  571   if (ST->hasAVX2()) {
  649     if (ISD == ISD::SRA && LT.second == MVT::v4i64 && ST->hasAVX2())
  710   if (ST->hasAVX2())
 1111   if (ST->hasAVX2())
 1667   if (ST->hasAVX2()) {
 1708         !((ST->hasXOP() && (!ST->hasAVX2() || MTy.is128BitVector())) ||
 1848   if (ST->hasAVX2())
 2226     if (ST->hasAVX2())
 2669     if (ST->hasAVX2())
 2856     if (ST->hasAVX2())
 2885     if (ST->hasAVX2())
 3295     return DataSize == 16 ?  ST->hasSSE1() : ST->hasAVX2();
 3356   if (!(ST->hasAVX512() || (ST->hasFastGather() && ST->hasAVX2())))
 3447     if (PreferredWidth >= 256 && ST->hasAVX2()) Options.LoadSizes.push_back(32);
 3742   if (ST->hasAVX2())