[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