diff --git a/compiler/src/iree/compiler/Codegen/LLVMCPU/KernelDispatch.cpp b/compiler/src/iree/compiler/Codegen/LLVMCPU/KernelDispatch.cpp index bd3c1f4614ac..d3d3ec6cf0be 100644 --- a/compiler/src/iree/compiler/Codegen/LLVMCPU/KernelDispatch.cpp +++ b/compiler/src/iree/compiler/Codegen/LLVMCPU/KernelDispatch.cpp @@ -2922,16 +2922,18 @@ setLoweringConfigForComputeOps(mlir::FunctionOpInterface entryPointFn, // loads and stores will have a performance impact. auto resultTypes = rootOperation->getResultTypes(); if (commonVecTileSizes.size() != 0 && !resultTypes.empty()) { - auto elementTypeSize = - cast(rootOperation->getResultTypes().front()) - .getElementType() - .getIntOrFloatBitWidth(); - // for now just enable for i1 - if (elementTypeSize == 1) { - auto innermostTileSize = commonVecTileSizes.back(); - commonVecTileSizes.back() = - llvm::alignTo(innermostTileSize * elementTypeSize, 8) / - elementTypeSize; + auto resultType = cast(rootOperation->getResultTypes().front()) + .getElementType(); + if (resultType.isIntOrFloat()) { + auto elementTypeSize = resultType.getIntOrFloatBitWidth(); + + // for now just enable for i1 + if (elementTypeSize == 1) { + auto innermostTileSize = commonVecTileSizes.back(); + commonVecTileSizes.back() = + llvm::alignTo(innermostTileSize * elementTypeSize, 8) / + elementTypeSize; + } } }