// RUN: %clang -S -emit-llvm -arch arm -march=armv7a %s
typedef unsigned short uint16_t;
typedef __attribute__((neon_vector_type(8))) uint16_t uint16x8_t;

void b(uint16x8_t sat, uint16x8_t luma)
{
  __asm__("vmov.16 %1, %0   \n\t"
                                           "vtrn.16 %0, %1   \n\t"
   :"=w"(luma), "=w"(sat)
   :"0"(luma)
   );

}

// RUN: %clang_cc1 -emit-llvm -march=armv7a %s 

// XFAIL: *
// XTARGET: arm

typedef struct __simd128_uint16_t
{
  __neon_uint16x8_t val;
} uint16x8_t;

void b(uint16x8_t sat, uint16x8_t luma)
{
  __asm__("vmov.16 %1, %0   \n\t"
                                           "vtrn.16 %0, %1   \n\t"
   :"=w"(luma), "=w"(sat)
   :"0"(luma)
   );

}

--- 
+++ 
@@ -1,12 +1,6 @@
-// RUN: %clang_cc1 -emit-llvm -march=armv7a %s 
-
-// XFAIL: *
-// XTARGET: arm
-
-typedef struct __simd128_uint16_t
-{
-  __neon_uint16x8_t val;
-} uint16x8_t;
+// RUN: %clang -S -emit-llvm -arch arm -march=armv7a %s
+typedef unsigned short uint16_t;
+typedef __attribute__((neon_vector_type(8))) uint16_t uint16x8_t;
 
 void b(uint16x8_t sat, uint16x8_t luma)
 {
Fix this test to work for arm and on all platforms.


git-svn-id: ffe668792ed300d6c2daa1f6eba2e0aa28d7ec6c@136307 91177308-0d34-0410-b5e6-96231b3b80d8
