| # TensorFlow Lite Base Operation Coverage |
| |
| Tests of the TFLite's [builtin](https://www.tensorflow.org/mlir/tfl_ops) |
| operation coverage. |
| |
| This focuses on lowering to `tosa` operations and may not have support for |
| all IREE backends. |
| |
| *Last Updated Manually: 2022/5/25 |
| |
| ## TFlite Operation Coverage |
| |
| | TFLite Operation | Static | Dynamic | |
| |:-----------|:--------------------------------------------:|:--------------------------------------------:| |
| | Abs | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Add | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | AddN | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | ArgMax | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | ArgMin | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | AssignVariable | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | AveragePool2d | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | BatchMatmul | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | BatchToSpaceNd | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | BidirectionalSequenceLstm | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | BidirectionalSequenceRnn | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | BroadcastArgs | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | BroadcastTo | <span class="success-table-element">✓</span> | <span class="failure-table-element">✗</span> | |
| | Bucketize | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | Call | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | CallOnce | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Cast | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Ceil | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | ComplexAbs | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | ConcatEmbeddings | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | Concatenation | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Conv2d | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Conv3d | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Conv3dTranspose | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | Cos | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Cumsum | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | Custom | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Delegate | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Densify | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | DepthToSpace | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | DepthwiseConv2d | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Dequantize | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Div | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | DynamicUpdateSlice | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | Elu | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | EmbeddingLookup | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | EmbeddingLookupSparse | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | Equal | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Exp | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | ExpandDims | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | FakeQuant | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Fill | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Floor | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | FloorDiv | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | FloorMod | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | FullyConnected | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Gather | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | GatherNd | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Gelu | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | Greater | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | GreaterEqual | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | HardSwish | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Hashtable | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | HashtableFind | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | HashtableImport | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | HashtableLookup | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | HashtableSize | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | If | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Imag | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | L2Normalization | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | L2Pool2d | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | LeakyRelu | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Less | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | LessEqual | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | LocalResponseNormalization | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | Log | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | LogicalAnd | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | LogicalNot | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | LogicalOr | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Logistic | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | LogSoftmax | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | LshProjection | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | Lstm | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | MatrixDiag | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | MatrixSetDiag | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | Maximum | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | MaxPool2d | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Mean | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Minimum | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | MirrorPad | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | Mul | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Multinomial | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | Neg | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | NonMaxSuppressionV4 | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | NonMaxSuppressionV5 | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | NotEqual | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | OneHot | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Pack | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Pad | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Padv2 | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Pow | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Prelu | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Quantize | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | RandomStandardNormal | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | RandomUniform | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | Range | <span class="success-table-element">✓</span> | <span class="failure-table-element">✗</span> | |
| | Rank | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | ReadVariable | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Real | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | ReduceAll | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | ReduceAny | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | ReduceMax | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | ReduceMin | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | ReduceProd | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Relu | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Relu6 | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | ReluN1To1 | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | Reshape | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | ResizeBilinear | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | ResizeNearestNeighbor | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | ReverseSequence | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | ReverseV2 | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Rfft2d | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | Rnn | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | Round | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Rsqrt | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | ScatterNd | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | SegmentSum | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | Select | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | SelectV2 | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Shape | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Sin | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | SkipGram | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | Slice | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Softmax | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | SpaceToBatchNd | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | SpaceToDepth | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | SparseToDense | <span class="success-table-element">✓</span> | <span class="failure-table-element">✗</span> | |
| | Split | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | SplitV | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Sqrt | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Square | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | SquaredDifference | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Squeeze | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | StridedSlice | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Sub | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Sum | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Svdf | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | Tanh | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Tile | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | TopkV2 | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | Transpose | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | TransposeConv | <span class="success-table-element">✓</span> | <span class="failure-table-element">✗</span> | |
| | UnidirectionalSequenceLstm | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | UnidirectionalSequenceRnn | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | Unique | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | Unpack | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | VarHandle | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | Where | <span class="failure-table-element">✗</span> | <span class="failure-table-element">✗</span> | |
| | While | <span class="success-table-element">✓</span> | <span class="success-table-element">✓</span> | |
| | ZerosLike | <span class="success-table-element">✓</span> | <span class="failure-table-element">✗</span> |