This patch adds an initial set of benchmarks for memory runtime check
generation.
It comes with a function that takes 4 pointers and accesses them in a
vectorizable inner loop, but it requires runtime checks. The outer loop
should increase the contribution of the runtime checks to the overall
runtime.
The function is then used to benchmark multiple different scenarios
where all pointers are completely disjoint or overlap in different ways.
The goal of the initial benchmarks is to measure the impact of D119078.
The current benchmarks focus on cases that can be supported by the initial
version of D119078, but should be extended as more cases can be handled.