/* { dg-require-effective-target ti_c64xp } */ #include extern void abort (void); typedef short __v2hi __attribute ((vector_size(4))); int a = 0x5000d000; int b = 0xc0002000; int c = 0x40009000; int d = 0x80000001; int e = 0x50002001; int f = 0xc0008000; int a4 = 0x50d03080; int b4 = 0xc020f080; int c4 = 0xc0202080; int d4 = 0x50003080; int e4 = 0xc0202180; int main () { int v; long long vll; v = _add2 (a, b); if (v != 0x1000f000) abort (); v = _sub2 (a, b); if (v != 0x9000b000) abort (); v = _sub2 (b, a); if (v != 0x70005000) abort (); v = _add4 (a4, b4); if (v != 0x10f02000) abort (); v = _sub4 (a4, b4); if (v != 0x90b04000) abort (); v = _saddu4 (a4, c4); if (v != 0xfff050ff) abort (); v = _sadd2 (a, b); if (v != 0x1000f000) abort (); v = _sadd2 (a, c); if (v != 0x7fff8000) abort (); v = _ssub2 (a, b); if (v != 0x7fffb000) abort (); v = _ssub2 (b, a); if (v != 0x80005000) abort (); vll = _smpy2ll (a, b); if (vll != 0xd8000000f4000000ll) abort (); vll = _smpy2ll (d, d); if (vll != 0x7fffffff00000002ll) abort (); v = _avg2 (b, e); if (v != 0x08002001) abort (); v = _avgu4 (d4, e4); if (v != 0x88102980) abort (); v = _abs2 (a); if (v != 0x50003000) abort (); v = _abs2 (f); if (v != 0x40007fff) abort (); return 0; }