2 /* { dg-require-effective-target sse4 } */
3 /* { dg-options "-O1 -msse4.2 -ftree-vectorize" } */
5 #include "sse4_2-check.h"
7 unsigned long long v1[] __attribute__ ((aligned(16))) =
9 0x8000000000000000ULL, 2,
10 3, 0xd000000000000000ULL
12 unsigned long long v2[] __attribute__ ((aligned(16))) =
14 4, 0xb000000000000000ULL,
15 0xf000000000000000ULL, 6
18 unsigned long long max[] =
20 0x8000000000000000ULL, 0xb000000000000000ULL,
21 0xf000000000000000ULL, 0xd000000000000000ULL
24 unsigned long long min[] =
30 unsigned long long res[4] __attribute__ ((aligned(16)));
32 extern void abort (void);
39 for (i = 0; i < 4; i++)
40 res[i] = v1[i] < v2[i] ? v2[i] : v1[i];
48 for (i = 0; i < 4; i++)
49 res[i] = v1[i] > v2[i] ? v2[i] : v1[i];
59 for (i = 0; i < 4; i++)
64 for (i = 0; i < 4; i++)