Use __builtin_shufflevector when building with Clang

Clang doesn't support __builtin_shuffle but it has
__builtin_shufflevector which has different signature.

Change-Id: I6a7ba40056bea423c9b27f18ed4eaadc5c77513c
diff --git a/test/utils-prng.c b/test/utils-prng.c
index c27b5be..e951b9a 100644
--- a/test/utils-prng.c
+++ b/test/utils-prng.c
@@ -200,11 +200,16 @@
         else
         {
 #ifdef HAVE_GCC_VECTOR_EXTENSIONS
+#define BSWAP_SHUFFLEMASK 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12
+#if defined(__clang__)
+            randdata.vb = __builtin_shufflevector (randdata.vb, randdata.vb, BSWAP_SHUFFLEMASK);
+#else
             const uint8x16 bswap_shufflemask =
             {
-                3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12
+                BSWAP_SHUFFLEMASK
             };
             randdata.vb = __builtin_shuffle (randdata.vb, bswap_shufflemask);
+#endif
             store_rand_128_data (buf, &randdata, aligned);
             buf += 16;
 #else