blob: f0571de9f05597d6669368f847be1830223a5036 [file] [log] [blame]
/* { dg-do run } */
/* { dg-options "-O3" } */
extern void abort (void);
#include "stdint.h"
#include "vect-ld1r.x"
DEF (int8_t)
DEF (int16_t)
DEF (int32_t)
DEF (int64_t)
#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
int
main (void)
{
DECL(int8_t);
DECL(int16_t);
DECL(int32_t);
DECL(int64_t);
int i;
FOOD (int8_t);
CHECKD (int8_t);
FOOQ (int8_t);
CHECKQ (int8_t);
FOOD (int16_t);
CHECKD (int16_t);
FOOQ (int16_t);
CHECKQ (int16_t);
FOOD (int32_t);
CHECKD (int32_t);
FOOQ (int32_t);
CHECKQ (int32_t);
FOOD (int64_t);
CHECKD (int64_t);
FOOQ (int64_t);
CHECKQ (int64_t);
return 0;
}