OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.dg/] [ext/] [altivec-types-1.C] - Rev 693

Compare with Previous | Blame | View Log

/* { dg-do compile { target powerpc*-*-linux* } } */
/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -mno-vsx -std=c++98" } */

/* Valid AltiVec vector types should be accepted with no warnings.  */

__vector char vc;
__vector unsigned char vuc;
__vector signed char vsc;
__vector __bool char vbc;
__vector short vh;
__vector signed short vsh;
__vector unsigned short vuh;
__vector short int vhi;
__vector signed short int vshi;
__vector unsigned short int vuhi;
__vector __bool short vbh;
__vector __bool short int vbhi;
__vector int vi;
__vector unsigned int vui;
__vector signed int vsi;
__vector __bool int vbi;
__vector unsigned vuj;
__vector signed vsj;
__vector __bool vbj;
__vector float vf;

/* These should be rejected as invalid AltiVec types.  */

__vector bool vb;                       /* { dg-error "AltiVec types" "" } */
__vector long long vll;                 /* { dg-error "AltiVec types" "" } */
__vector unsigned long long vull;       /* { dg-error "AltiVec types" "" } */
__vector signed long long vsll;         /* { dg-error "AltiVec types" "" } */
__vector __bool long long vbll;         /* { dg-error "AltiVec types" "" } */
__vector long long int vlli;            /* { dg-error "AltiVec types" "" } */
__vector unsigned long long int vulli;  /* { dg-error "AltiVec types" "" } */
__vector signed long long int vslli;    /* { dg-error "AltiVec types" "" } */
__vector __bool long long int vblli;    /* { dg-error "AltiVec types" "" } */
__vector double vd1;                    /* { dg-error "AltiVec types" "" } */
__vector long double vld;               /* { dg-error "AltiVec types" "" } */
__vector _Complex float vcf;            /* { dg-error "AltiVec types" "" } */
__vector _Complex double vcd;           /* { dg-error "AltiVec types" "" } */
__vector _Complex long double vcld;     /* { dg-error "AltiVec types" "" } */
__vector _Complex signed char vcsc;     /* { dg-error "AltiVec types" "" } */
__vector _Complex unsigned char vcuc;   /* { dg-error "AltiVec types" "" } */
__vector _Complex short vcss;           /* { dg-error "AltiVec types" "" } */
__vector _Complex unsigned short vcus;  /* { dg-error "AltiVec types" "" } */
__vector _Complex int vcsi;             /* { dg-error "AltiVec types" "" } */
__vector _Complex unsigned int vcui;    /* { dg-error "AltiVec types" "" } */
__vector _Complex long vcsl;            /* { dg-error "AltiVec types" "" } */
__vector _Complex unsigned long vcul;   /* { dg-error "AltiVec types" "" } */
__vector _Complex long long vcsll;      /* { dg-error "AltiVec types" "" } */
__vector _Complex unsigned long long vcull; /* { dg-error "AltiVec types" "" } */
__vector __complex float v_cf;          /* { dg-error "AltiVec types" "" } */
__vector __complex double v_cd;         /* { dg-error "AltiVec types" "" } */
__vector __complex long double v_cld;   /* { dg-error "AltiVec types" "" } */
__vector __complex signed char v_csc;   /* { dg-error "AltiVec types" "" } */
__vector __complex unsigned char v_cuc; /* { dg-error "AltiVec types" "" } */
__vector __complex short v_css;         /* { dg-error "AltiVec types" "" } */
__vector __complex unsigned short v_cus; /* { dg-error "AltiVec types" "" } */
__vector __complex int v_csi;           /* { dg-error "AltiVec types" "" } */
__vector __complex unsigned int v_cui;  /* { dg-error "AltiVec types" "" } */
__vector __complex long v_csl;          /* { dg-error "AltiVec types" "" } */
__vector __complex unsigned long v_cul; /* { dg-error "AltiVec types" "" } */
__vector __complex long long v_csll;    /* { dg-error "AltiVec types" "" } */
__vector __complex unsigned long long v_cull; /* { dg-error "AltiVec types" "" } */

/* These should be rejected because the component types are invalid.  We
   don't care about the actual error messages here.  */

__vector __bool unsigned char vbuc;     /* { dg-error "" "" } */
__vector __bool signed char vbsc;       /* { dg-error "" "" } */
__vector __bool unsigned short vbuh;    /* { dg-error "" "" } */
__vector __bool signed short vbsh;      /* { dg-error "" "" } */
__vector __bool unsigned int vbui;      /* { dg-error "" "" } */
__vector __bool signed int vbsi;        /* { dg-error "" "" } */
__vector __bool unsigned vbuj;          /* { dg-error "" "" } */
__vector __bool signed vbsj;            /* { dg-error "" "" } */
__vector signed float vsf;              /* { dg-error "" "" } */
__vector unsigned float vuf;            /* { dg-error "" "" } */
__vector short float vsf;               /* { dg-error "" "" } */
__vector signed double vsd;             /* { dg-error "" "" } */
__vector unsigned double vud;           /* { dg-error "" "" } */
__vector short double vsd;              /* { dg-error "" "" } */
__vector __bool float vbf;              /* { dg-error "" "" } */
__vector __bool double vbd;             /* { dg-error "" "" } */
__vector __bool short float blf;        /* { dg-error "" "" } */
__vector __bool short double vlbd;      /* { dg-error "" "" } */

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.