1/* This includes all of the vector modes that are recognized by 2 c_common_type_for_mode. */ 3 4typedef int __attribute__((mode(QI))) qi; 5typedef int __attribute__((mode(HI))) hi; 6typedef int __attribute__((mode(SI))) si; 7typedef int __attribute__((mode(DI))) di; 8typedef float __attribute__((mode(SF))) sf; 9#if ((__SIZEOF_DOUBLE__ >= 8) || (__SIZEOF_LONG_DOUBLE__ >= 8)) 10typedef float __attribute__((mode(DF))) df; 11#else 12typedef float __attribute__((mode(SF))) df; 13#endif 14 15#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 5) 16 17typedef qi __attribute__((vector_size (8))) v8qi; 18typedef qi __attribute__((vector_size (16))) v16qi; 19 20typedef hi __attribute__((vector_size (4))) v2hi; 21typedef hi __attribute__((vector_size (8))) v4hi; 22typedef hi __attribute__((vector_size (16))) v8hi; 23 24typedef si __attribute__((vector_size (8))) v2si; 25typedef si __attribute__((vector_size (16))) v4si; 26 27typedef di __attribute__((vector_size (8))) v1di; 28typedef di __attribute__((vector_size (16))) v2di; 29 30typedef sf __attribute__((vector_size (8))) v2sf; 31typedef sf __attribute__((vector_size (16))) v4sf; 32typedef sf __attribute__((vector_size (64))) v16sf; 33 34typedef df __attribute__((vector_size (16))) v2df; 35 36#else 37 38typedef int __attribute__((mode(V8QI))) v8qi; 39typedef int __attribute__((mode(V16QI))) v16qi; 40 41typedef int __attribute__((mode(V2HI))) v2hi; 42typedef int __attribute__((mode(V4HI))) v4hi; 43typedef int __attribute__((mode(V8HI))) v8hi; 44 45typedef int __attribute__((mode(V2SI))) v2si; 46typedef int __attribute__((mode(V4SI))) v4si; 47 48typedef int __attribute__((mode(V1DI))) v1di; 49typedef int __attribute__((mode(V2DI))) v2di; 50 51typedef float __attribute__((mode(V2SF))) v2sf; 52typedef float __attribute__((mode(V4SF))) v4sf; 53typedef float __attribute__((mode(V16SF))) v16sf; 54 55typedef float __attribute__((mode(V2DF))) v2df; 56 57#endif 58 59typedef qi __attribute__((vector_size (32))) v32qi; 60typedef hi __attribute__((vector_size (32))) v16hi; 61typedef si __attribute__((vector_size (32))) v8si; 62typedef di __attribute__((vector_size (32))) v4di; 63typedef sf __attribute__((vector_size (32))) v8sf; 64typedef df __attribute__((vector_size (32))) v4df; 65 66typedef union U32QI { v32qi v; qi a[32]; } u32qi; 67typedef union U16HI { v16hi v; hi a[16]; } u16hi; 68typedef union U8SI { v8si v; si a[8]; } u8si; 69typedef union U4DI { v4di v; di a[4]; } u4di; 70typedef union U8SF { v8sf v; sf a[8]; } u8sf; 71typedef union U4DF { v4df v; df a[4]; } u4df; 72 73typedef union U8QI { v8qi v; qi a[8]; } u8qi; 74typedef union U16QI { v16qi v; qi a[16]; } u16qi; 75 76typedef union U2HI { v2hi v; hi a[2]; } u2hi; 77typedef union U4HI { v4hi v; hi a[4]; } u4hi; 78typedef union U8HI { v8hi v; hi a[8]; } u8hi; 79 80typedef union U2SI { v2si v; si a[2]; } u2si; 81typedef union U4SI { v4si v; si a[4]; } u4si; 82 83typedef union U1DI { v1di v; di a[1]; } u1di; 84typedef union U2DI { v2di v; di a[2]; } u2di; 85 86typedef union U2SF { v2sf v; sf a[2]; } u2sf; 87typedef union U4SF { v4sf v; sf a[4]; } u4sf; 88typedef union U16SF { v16sf v; sf a[16]; } u16sf; 89 90typedef union U2DF { v2df v; df a[2]; } u2df; 91