  Leveraging vectorisation, the ability for a CPU to apply operations to
multiple elements of data concurrently, is critical for high performance
workloads. However, at the time of writing, commercially available physical
RISC-V hardware that provides the RISC-V vector extension (RVV) only supports
version 0.7.1, which is incompatible with the latest ratified version 1.0. The
challenge is that upstream compiler toolchains, such as Clang, only target the
ratified v1.0 and do not support the older v0.7.1. Because v1.0 is not
compatible with v0.7.1, the only way to program vectorised code is to use a
vendor-provided, older compiler. In this paper we introduce the rvv-rollback
tool which translates assembly code generated by the compiler using vector
extension v1.0 instructions to v0.7.1. We utilise this tool to compare
vectorisation performance of the vendor-provided GNU 8.4 compiler (supports
v0.7.1) against LLVM 15.0 (supports only v1.0), where we found that the LLVM
compiler is capable of auto-vectorising more computational kernels, and
delivers greater performance than GNU in most, but not all, cases. We also
tested LLVM vectorisation with vector length agnostic and specific settings,
and observed cases with significant difference in performance.
