forked from OSchip/llvm-project
a4830d14ed
With VectorType supporting scalable dimensions, we don't need many of the operations currently present in ArmSVE, like mask generation and basic arithmetic instructions. Therefore, this patch also gets rid of those. Having built-in scalable vector support also simplifies the lowering of scalable vector dialects down to LLVMIR. Scalable dimensions are indicated with the scalable dimensions between square brackets: vector<[4]xf32> Is a scalable vector of 4 single precission floating point elements. More generally, a VectorType can have a set of fixed-length dimensions followed by a set of scalable dimensions: vector<2x[4x4]xf32> Is a vector with 2 scalable 4x4 vectors of single precission floating point elements. The scale of the scalable dimensions can be obtained with the Vector operation: %vs = vector.vscale This change is being discussed in the discourse RFC: https://llvm.discourse.group/t/rfc-add-built-in-support-for-scalable-vector-types/4484 Differential Revision: https://reviews.llvm.org/D111819 |
||
---|---|---|
.. | ||
AffineParser.cpp | ||
AsmParserImpl.h | ||
AsmParserState.cpp | ||
AttributeParser.cpp | ||
CMakeLists.txt | ||
DialectSymbolParser.cpp | ||
Lexer.cpp | ||
Lexer.h | ||
LocationParser.cpp | ||
Parser.cpp | ||
Parser.h | ||
ParserState.h | ||
Token.cpp | ||
Token.h | ||
TokenKinds.def | ||
TypeParser.cpp |