[llvm-commits] [test-suite] r171546 - /test-suite/trunk/SingleSource/UnitTests/Vectorizer/gcc-loops.cpp
Michael Gottesman
mgottesman at apple.com
Fri Jan 4 14:52:18 PST 2013
Thanks Nadav!
On Jan 4, 2013, at 5:46 PM, Nadav Rotem <nrotem at apple.com> wrote:
> Author: nadav
> Date: Fri Jan 4 16:46:16 2013
> New Revision: 171546
>
> URL: http://llvm.org/viewvc/llvm-project?rev=171546&view=rev
> Log:
> Some of the kernels assumed that the pointers are aligned. This commit makes the
> arrays aligned. This commit also increases the number of executions for some of the
> faster loops.
>
> This should fix build.lnt_clang-x86_64-darwin10-RA_i386-O3.
>
>
> Modified:
> test-suite/trunk/SingleSource/UnitTests/Vectorizer/gcc-loops.cpp
>
> Modified: test-suite/trunk/SingleSource/UnitTests/Vectorizer/gcc-loops.cpp
> URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/SingleSource/UnitTests/Vectorizer/gcc-loops.cpp?rev=171546&r1=171545&r2=171546&view=diff
> ==============================================================================
> --- test-suite/trunk/SingleSource/UnitTests/Vectorizer/gcc-loops.cpp (original)
> +++ test-suite/trunk/SingleSource/UnitTests/Vectorizer/gcc-loops.cpp Fri Jan 4 16:46:16 2013
> @@ -14,15 +14,16 @@
> #define N 1024
> #define M 32
> #define K 4
> +#define ALIGNED16 __attribute__((aligned(16)))
>
> unsigned short usa[N];
> short sa[N];
> short sb[N];
> short sc[N];
> unsigned int ua[N];
> -int ia[N];
> -int ib[N];
> -int ic[N];
> +int ia[N] ALIGNED16;
> +int ib[N] ALIGNED16;
> +int ic[N] ALIGNED16;
> unsigned int ub[N];
> unsigned int uc[N];
> float fa[N], fb[N];
> @@ -33,7 +34,10 @@
> int ca[N];
> } s;
>
> -int a[N*2], b[N*2], c[N*2], d[N*2];
> +int a[N*2] ALIGNED16;
> +int b[N*2] ALIGNED16;
> +int c[N*2] ALIGNED16;
> +int d[N*2] ALIGNED16;
>
> __attribute__((noinline))
> void example1 () {
> @@ -226,14 +230,13 @@
>
>
> __attribute__((noinline))
> -int example21(int *b, int n)
> -{
> +void example21(int *b, int n) {
> int i, a = 0;
>
> for (i = n-1; i >= 0; i--)
> a += b[i];
>
> - return a;
> + b[0] = a;
> }
>
> __attribute__((noinline))
> @@ -364,20 +367,21 @@
> init_memory_float(&dd[0], &dd[N]);
>
> BENCH("Example1", example1(), Mi*10, digest_memory(&a[0], &a[256]));
> - BENCH("Example2a", example2a(N, 2), Mi, digest_memory(&b[0], &b[N]));
> - BENCH("Example2b", example2b(N, 2), Mi, digest_memory(&a[0], &a[N]));
> - BENCH("Example3", example3(N, ia, ib), Mi, digest_memory(&ia[0], &ia[N]));
> - BENCH("Example4a", example4a(N, ia, ib), Mi, digest_memory(&ia[0], &ia[N]));
> - BENCH("Example4b", example4b(N-10, ia, ib), Mi, digest_memory(&ia[0], &ia[N]));
> - BENCH("Example4c", example4c(N, ia, ib), Mi, digest_memory(&ib[0], &ib[N]));
> - BENCH("Example7", example7(4), Mi, digest_memory(&a[0], &a[N]));
> + BENCH("Example2a", example2a(N, 2), Mi*4, digest_memory(&b[0], &b[N]));
> + BENCH("Example2b", example2b(N, 2), Mi*2, digest_memory(&a[0], &a[N]));
> + BENCH("Example3", example3(N, ia, ib), Mi*2, digest_memory(&ia[0], &ia[N]));
> + BENCH("Example4a", example4a(N, ia, ib), Mi*2, digest_memory(&ia[0], &ia[N]));
> + BENCH("Example4b", example4b(N-10, ia, ib), Mi*2, digest_memory(&ia[0], &ia[N]));
> + BENCH("Example4c", example4c(N, ia, ib), Mi*2, digest_memory(&ib[0], &ib[N]));
> + BENCH("Example7", example7(4), Mi*4, digest_memory(&a[0], &a[N]));
> BENCH("Example8", example8(8), Mi/4, digest_memory(&G[0][0], &G[0][N]));
> - BENCH("Example9", example9(&dummy), Mi, dummy);
> - BENCH("Example10a", example10a(sa,sb,sc,ia,ib,ic), Mi, digest_memory(&ia[0], &ia[N]) + digest_memory(&sa[0], &sa[N]));
> - BENCH("Example10b", example10b(sa,sb,sc,ia,ib,ic), Mi*2, digest_memory(&ia[0], &ia[N]));
> + BENCH("Example9", example9(&dummy), Mi*2, dummy);
> + BENCH("Example10a", example10a(sa,sb,sc,ia,ib,ic), Mi*2, digest_memory(&ia[0], &ia[N]) + digest_memory(&sa[0], &sa[N]));
> + BENCH("Example10b", example10b(sa,sb,sc,ia,ib,ic), Mi*4, digest_memory(&ia[0], &ia[N]));
> BENCH("Example11", example11(), Mi*2, digest_memory(&d[0], &d[N]));
> - BENCH("Example12", example12(), Mi*2, digest_memory(&a[0], &a[N]));
> - BENCH("Example23", example23(usa,ua), Mi*2, digest_memory(&usa[0], &usa[256]));
> + BENCH("Example12", example12(), Mi*4, digest_memory(&a[0], &a[N]));
> + //BENCH("Example21", example21(ia, N), Mi*4, digest_memory(&ia[0], &ia[N]));
> + BENCH("Example23", example23(usa,ua), Mi*8, digest_memory(&usa[0], &usa[256]));
> BENCH("Example24", example24(2,4), Mi*2, 0);
> BENCH("Example25", example25(), Mi*2, digest_memory(&dj[0], &dj[N]));
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list