2 /* { dg-options "-O1 -msse2 -ftree-vectorize" } */
3 /* { dg-require-effective-target sse2 } */
6 #define CHECK_H "sse2-check.h"
10 #define TEST sse2_test
15 unsigned char v1
[] __attribute__ ((aligned(16))) =
17 0x80, 0xd0, 0x90, 0xa0, 1, 15, 10, 15,
18 0xa0, 0xc0, 0xb0, 0xf0, 2, 25, 20, 35,
19 3, 34, 30, 36, 0xd0, 0x80, 0xe0, 0xb0,
20 0xf0, 0xe0, 0xe0, 0x80, 25, 34, 30, 40
22 unsigned char v2
[] __attribute__ ((aligned(16))) =
24 4, 44, 40, 48, 0xb0, 0x80, 0x80, 0x90,
25 5, 55, 50, 51, 0xc0, 0xb0, 0xf0, 0xd0,
26 0xd0, 0x80, 0xa0, 0xf0, 6, 61, 65, 68,
27 7, 76, 75, 81, 0xe0, 0xf0, 0xc0, 0x90
32 0x80, 0xd0, 0x90, 0xa0, 0xb0, 0x80, 0x80, 0x90,
33 0xa0, 0xc0, 0xb0, 0xf0, 0xc0, 0xb0, 0xf0, 0xd0,
34 0xd0, 0x80, 0xa0, 0xf0, 0xd0, 0x80, 0xe0, 0xb0,
35 0xf0, 0xe0, 0xe0, 0x80, 0xe0, 0xf0, 0xc0, 0x90
40 4, 44, 40, 48, 1, 15, 10, 15,
41 5, 55, 50, 51, 2, 25, 20, 35,
42 3, 34, 30, 36, 6, 61, 65, 68,
43 7, 76, 75, 81, 25, 34, 30, 40
46 unsigned char res
[32] __attribute__ ((aligned(16)));
48 extern void abort (void);
55 for (i
= 0; i
< 32; i
++)
56 res
[i
] = v1
[i
] < v2
[i
] ? v2
[i
] : v1
[i
];
64 for (i
= 0; i
< 32; i
++)
65 res
[i
] = v1
[i
] > v2
[i
] ? v2
[i
] : v1
[i
];
75 for (i
= 0; i
< 32; i
++)
80 for (i
= 0; i
< 32; i
++)