[mlir][Linalg] Add an end-to-end test for scalable vectorisation
This patch adds our first integration test for scalable vectorisation in Linalg. It simply runs `linalg.fill` to fill a scalable vector with a pre-defined f32 value. The result is printed to stdout. Note that with scalable architectures, the vector size is not know at compile time, but it is known at runtime. For this reason, the length of the output generated by the new test depends on the hardware implementation. For Arm's SVE we do know that there will be at least 4 f32 elements in every scalable vector register. CHECK lines were designed accordingly. In order to see what happens for different implementations of SVE, you can use the following QEMU settings: * qemu-aarch64 -cpu max,sve128=on * qemu-aarch64 -cpu max,sve512=on ATM, this test is only enabled when `MLIR_RUN_ARM_SVE_TESTS` is set. Differential Revision: https://reviews.llvm.org/D155839
Loading
Please sign in to comment