On Tue, Nov 17, 2020 at 12:24 PM Richard Sandiford via Gcc-patches <gcc-patches@gcc.gnu.org> wrote: > > We're now able to vectorise the set-up loop: > > int p = power2 (fns[i].po2); > for (int j = 0; j < N; j++) > a[j] = ((p << 4) * j) / (N - 1) - (p << 5); > > Rather than adjust the expected output for that, it seemed better > to disable optimisation for the testing code. > > Tested on aarch64-linux-gnu (with and without SVE), arm-linux-gnueabihf > and x86_64-linux-gnu. OK to install?
In other places we just add a asm ("" : : : "memory") to the loop body, can you do it like htat? Thanks, RIchard. > Richard > > > gcc/testsuite/ > * gcc.dg/vect/vect-sdiv-pow2-1.c (main): Disable optimization. > --- > gcc/testsuite/gcc.dg/vect/vect-sdiv-pow2-1.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/gcc/testsuite/gcc.dg/vect/vect-sdiv-pow2-1.c > b/gcc/testsuite/gcc.dg/vect/vect-sdiv-pow2-1.c > index be70bc6c47e..bf387133d01 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-sdiv-pow2-1.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-sdiv-pow2-1.c > @@ -53,7 +53,7 @@ power2 (int x) > > #define N 50 > > -int > +int __attribute__ ((optimize (0))) > main (void) > { > int a[N], b[N], c[N];