blob: 5e384e1bb40d0e19d89cf1018793e9b64f774523 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
/* { dg-do run } */
/* { dg-options "-O3" } */
extern void abort (void);
#include "stdint.h"
#include "vect-ld1r.x"
DEF (float)
DEF (double)
#define FOOD(TYPE) \
foo_ ## TYPE ## _d (&a_ ## TYPE, output_ ## TYPE)
#define FOOQ(TYPE) \
foo_ ## TYPE ## _q (&a_ ## TYPE, output_ ## TYPE)
#define CHECKD(TYPE) \
for (i = 0; i < 8 / sizeof (TYPE); i++) \
if (output_ ## TYPE[i] != a_ ## TYPE) \
abort ()
#define CHECKQ(TYPE) \
for (i = 0; i < 32 / sizeof (TYPE); i++) \
if (output_ ## TYPE[i] != a_ ## TYPE) \
abort ()
#define DECL(TYPE) \
TYPE output_ ## TYPE[32]; \
TYPE a_ ## TYPE = (TYPE)12.2
int
main (void)
{
DECL(float);
DECL(double);
int i;
FOOD (float);
CHECKD (float);
FOOQ (float);
CHECKQ (float);
FOOD (double);
CHECKD (double);
FOOQ (double);
CHECKQ (double);
return 0;
}
|