[#llvm-VectorInstrContext] = xref:llvm.adoc[llvm]::VectorInstrContext :relfileprefix: ../ :mrdocs: Represents a hint about the context in which a vector instruction or intrinsic is used. == Synopsis Declared in `<llvm/Analysis/TargetTransformInfo.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- enum class VectorInstrContext : uint8_t; ---- == Description On some targets, inserts/extracts can cheaply be folded into loads/stores. Similarly, vp.merge can also be folded into binary ops on some targets. This enum allows the vectorizer to give getVectorInstrCost and getIntrinsicInstrCost an idea of how the values are used. See `getVectorInstrContextHint` to compute a VectorInstrContext from an insert/extract Instruction*. == Members [cols="1,4"] |=== | Name| Description | `None` | The instruction is not folded. | `Load` | The value being inserted comes from a load (InsertElement only). | `Store` | The extracted value is stored (ExtractElement only). | `BinaryOp` | One of the operands is a binary op. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#