From 0f545ad9b68445094975455a5657bfc8be2e4912 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Wed, 18 Nov 2020 18:40:30 +0000 Subject: [PATCH] testsuite: Fix vect/vect-sdiv-pow2-1.c 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); This patch adds an asm to stop the loop being vectorised. gcc/testsuite/ * gcc.dg/vect/vect-sdiv-pow2-1.c (main): Add an asm to the set-up loop. --- gcc/testsuite/gcc.dg/vect/vect-sdiv-pow2-1.c | 5 ++++- 1 file changed, 4 insertions(+), 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..484efb1e8c8 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-sdiv-pow2-1.c +++ b/gcc/testsuite/gcc.dg/vect/vect-sdiv-pow2-1.c @@ -62,7 +62,10 @@ main (void) { int p = power2 (fns[i].po2); for (int j = 0; j < N; j++) - a[j] = ((p << 4) * j) / (N - 1) - (p << 5); + { + a[j] = ((p << 4) * j) / (N - 1) - (p << 5); + asm volatile ("" ::: "memory"); + } fns[i].div (b, a, N); fns[i].mod (c, a, N);