1 /* { dg-do compile } */ 2 /* { dg-options "-O2" } */ 3 4 #define vector __attribute__((vector_size(16) )) 5 6 #define lowull (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ ? 1 : 0) 7 #define lowui (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ ? 3 : 0) 8 9 10 vector unsigned long long f1(vector unsigned long long b,vector unsigned int a)11f1(vector unsigned long long b, vector unsigned int a) 12 { 13 b[lowull] = a[lowui]; 14 return b; 15 } 16 17 unsigned long long f2(vector unsigned int a)18f2(vector unsigned int a) 19 { 20 return a[lowui]; 21 } 22 23 /* { dg-final { scan-assembler-times {fmov} 2 } } */ 24 /* { dg-final { scan-assembler-not {umov} } } */ 25 /* { dg-final { scan-assembler-not {uxtw} } } */ 26