Home | History | Annotate | Download | only in X86

Lines Matching full:vzeroupper

1 //===-- X86VZeroUpper.cpp - AVX vzeroupper instruction inserter -----------===//
10 // This file defines the pass which inserts x86 AVX vzeroupper instructions
30 #define DEBUG_TYPE "x86-vzeroupper"
32 STATISTIC(NumVZU, "Number of vzeroupper instructions inserted");
41 const char *getPassName() const override {return "X86 vzeroupper inserter";}
56 // vzeroupper instructions in this block.
57 // - EXITS_CLEAN: There is (or will be) a vzeroupper instruction in this
60 // subsequent vzeroupper in the block clears it.
68 // vzeroupper. We won't know whether it actually needs
156 // Insert a vzeroupper instruction before I.
160 BuildMI(MBB, I, dl, TII->get(X86::VZEROUPPER));
174 /// inserting vzeroupper instructions before function calls.
210 // The VZEROUPPER instruction resets the upper 128 bits of all Intel AVX
214 // the VZEROUPPER instruction before any function call/return that might
216 // FIXME: In some cases, we may want to move the VZEROUPPER into a
219 // After the inserted VZEROUPPER the state becomes clean again, but
226 // call then whether we need a vzeroupper or not depends on whether this
228 // and set the state to EXITS_CLEAN, but do not insert the vzeroupper yet.
248 /// vzeroupper instructions before function calls.
260 // to insert any VZEROUPPER instructions. This is constant-time, so it is
293 // vzeroupper instructions to unguarded calls, and propagate EXITS_DIRTY